新聞中心
SQL 連接(JOIN)
SQL join 用于把來自兩個或多個表的行結(jié)合起來。

成都創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計、網(wǎng)站建設(shè)與策劃設(shè)計,花垣網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:花垣等地區(qū)?;ㄔ鼍W(wǎng)站價格咨詢:028-86922220
下圖展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相關(guān)的 7 種用法。
SQL JOIN
SQL JOIN 子句用于把來自兩個或多個表的行結(jié)合起來,基于這些表之間的共同字段。
最常見的 JOIN 類型:SQL INNER JOIN(簡單的 JOIN)。 SQL INNER JOIN 從多個表中返回滿足 JOIN 條件的所有行。
語法:
SELECT column1, column2, ... FROM table1 JOIN table2 ON condition;
參數(shù)說明:
- column1, column2, ...:要選擇的字段名稱,可以為多個字段。如果不指定字段名稱,則會選擇所有字段。
- table1:要連接的第一個表。
- table2:要連接的第二個表。
- condition:連接條件,用于指定連接方式。
演示數(shù)據(jù)庫
在本教程中,我們將使用 RUNOOB 樣本數(shù)據(jù)庫。
下面是選自 "Websites" 表的數(shù)據(jù):
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘寶 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鳥教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
下面是 "access_log" 網(wǎng)站訪問記錄表的數(shù)據(jù):
mysql> SELECT * FROM access_log; +-----+---------+-------+------------+ | aid | site_id | count | date | +-----+---------+-------+------------+ | 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 | | 9 | 3 | 201 | 2016-05-17 | +-----+---------+-------+------------+ 9 rows in set (0.00 sec)
請注意,"Websites" 表中的 "id" 列指向 "access_log" 表中的字段 "site_id"。上面這兩個表是通過 "site_id" 列聯(lián)系起來的。
然后,如果我們運行下面的 SQL 語句(包含 INNER JOIN):
實例
SELECT Websites.id, Websites.name, access_log.count, access_log.date
FROM Websites
INNER JOIN access_log
ON Websites.id=access_log.site_id;
執(zhí)行以上 SQL 輸出結(jié)果如下:
不同的 SQL JOIN
在我們繼續(xù)講解實例之前,我們先列出您可以使用的不同的 SQL JOIN 類型:
- INNER JOIN:如果表中有至少一個匹配,則返回行
- LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行
- RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行
- FULL JOIN:只要其中一個表中存在匹配,則返回行
新聞名稱:創(chuàng)新互聯(lián)MSSQL教程SQL連接(JOIN)
文章來源:http://fisionsoft.com.cn/article/dhpgicc.html


咨詢
建站咨詢
