SQL交叉連接剖析
SQL中什么是交叉連接?
如果沒(méi)有 WHERE 子句與 CROSS JOIN 一起使用,SQL CROSS JOIN 會(huì)生成一個(gè)結(jié)果集,該結(jié)果集是第一個(gè)表中的行數(shù)乘以第二個(gè)表中的行數(shù)。這種結(jié)果稱為笛卡爾積。如果 WHERE 子句與 CROSS JOIN 一起使用,則其功能類似于 INNER JOIN。
SQL Cross Join語(yǔ)法圖解
實(shí)現(xiàn)相同結(jié)果的另一種方法是在 SELECT 之后使用以逗號(hào)分隔的列名稱,并在 FROM 子句之后提及涉及的表名稱。
句法:
SELECT *
FROM table1
CROSS JOIN table2;例子:
下面是兩個(gè)表之間 SQL 交叉連接的示例。
示例表:食品
+---------+--------------+-----------+------------+
| ITEM_ID | ITEM_NAME | ITEM_UNIT | COMPANY_ID |
+---------+--------------+-----------+------------+
| 1 | Chex Mix | Pcs | 16 |
| 6 | Cheez-It | Pcs | 15 |
| 2 | BN Biscuit | Pcs | 15 |
| 3 | Mighty Munch | Pcs | 17 |
| 4 | Pot Rice | Pcs | 15 |
| 5 | Jaffa Cakes | Pcs | 18 |
| 7 | Salt n Shake | Pcs | |
+---------+--------------+-----------+------------+示例表:公司
+------------+---------------+--------------+
| COMPANY_ID | COMPANY_NAME | COMPANY_CITY |
+------------+---------------+--------------+
| 18 | Order All | Boston |
| 15 | Jack Hill Ltd | London |
| 16 | Akas Foods | Delhi |
| 17 | Foodies. | London |
| 19 | sip-n-Bite. | New York |
+------------+---------------+--------------+要從食品表和公司名稱中獲取商品名稱和商品單位列,從公司表中獲取公司城市列,在與這些提到的表進(jìn)行交叉連接后,可以使用以下 SQL 語(yǔ)句:
SQL代碼:
SELECT foods.item_name,foods.item_unit,
company.company_name,company.company_city
FROM foods
CROSS JOIN company;或者
SQL代碼:
SELECT foods.item_name,foods.item_unit,
company.company_name,company.company_city
FROM foods,company;兩個(gè)表如何交叉連接
輸出:
ITEM_NAME ITEM_UNIT COMPANY_NAME COMPANY_CITY
--------------- ---------- --------------- ---------------
Chex Mix Pcs Order All Boston
Cheez-It Pcs Order All Boston
BN Biscuit Pcs Order All Boston
Mighty Munch Pcs Order All Boston
Pot Rice Pcs Order All Boston
Jaffa Cakes Pcs Order All Boston
Salt n Shake Pcs Order All Boston
Chex Mix Pcs Jack Hill Ltd London
Cheez-It Pcs Jack Hill Ltd London
BN Biscuit Pcs Jack Hill Ltd London
Mighty Munch Pcs Jack Hill Ltd London
Pot Rice Pcs Jack Hill Ltd London
Jaffa Cakes Pcs Jack Hill Ltd London
Salt n Shake Pcs Jack Hill Ltd London
Chex Mix Pcs Akas Foods Delhi
Cheez-It Pcs Akas Foods Delhi
BN Biscuit Pcs Akas Foods Delhi
Mighty Munch Pcs Akas Foods Delhi
Pot Rice Pcs Akas Foods Delhi
Jaffa Cakes Pcs Akas Foods Delhi
Salt n Shake Pcs Akas Foods Delhi
Chex Mix Pcs Foodies. London
.........
.........上述輸出的更多介紹:
版權(quán)所屬:SO JSON在線解析
原文地址:http://suancuo.cn/blog/507.html
轉(zhuǎn)載時(shí)必須以鏈接形式注明原始出處及本聲明。
如果本文對(duì)你有幫助,那么請(qǐng)你贊助我,讓我更有激情的寫下去,幫助更多的人。
