MySQL認(rèn)證課程:select左連接查詢
最新學(xué)訊:近期OCP認(rèn)證正在報(bào)名中,因考試人員較多請盡快報(bào)名獲取最近考試時(shí)間,報(bào)名費(fèi)用請聯(lián)系在線老師,甲骨文官方認(rèn)證,報(bào)名從速!
我要咨詢MySQL認(rèn)證課程:select左連接查詢,左連接:全連接給出FROM子句中所有表都有匹配的行。對(duì)于左連接,不僅匹配類似前面的行記錄,而且還顯示左邊的表有而右邊的表中無匹配的行。
對(duì)于這樣的行,從右邊表選擇的列均被顯示為NULL。這樣,每一匹配的行都從左邊的表被選出,而如果右邊表有一個(gè)匹配的行,則被選中,如果不匹配,行仍然被選中,不過,其中右邊相應(yīng)的列在結(jié)果集中均設(shè)為NULL。即,LEFT JOIN強(qiáng)制包含左邊表的每一行,而不管右邊表是否匹配。
語法:SELECT FROM table_reference LEFT JOIN table_reference ON conditional_expr
其中table_reference為連接的表,ON子句后接類似WHERE子句的條件。
下面我們詳細(xì)講述左連接的使用:
·首先,返回一個(gè)全連接的結(jié)果集:
mysql> SELECT * FROM first,last;
+------+------------+------+-----------+
| id | first_name | id | last_name |
+------+------------+------+-----------+
| 1 | Tom | 2 | Stone |
| 2 | Marry | 2 | Stone |
| 3 | Jarry | 2 | Stone |
| 1 | Tom | 3 | White |
| 2 | Marry | 3 | White |
| 3 | Jarry | 3 | White |
| 1 | Tom | 4 | Donald |
| 2 | Marry | 4 | Donald |
| 3 | Jarry | 4 | Donald |
+------+------------+------+-----------+
注意上面的結(jié)果,下面的例子要與這個(gè)例子對(duì)照。
·我們在給出一個(gè)限制條件的查詢:
mysql> SELECT * FROM first,last WHERE first.id=last.id;
+------+------------+------+-----------+
| id | first_name | id | last_name |
+------+------------+------+-----------+
| 2 | Marry | 2 | Stone |
| 3 | Jarry | 3 | White |
+------+------------+------+-----------+
這個(gè)結(jié)果類似于是從上一個(gè)全連接中選擇出first.id>last.id 的行。
現(xiàn)在我們給出一個(gè)真正的左連接的例子,你可以仔細(xì)觀察它的結(jié)果,要了解檢索的記錄順序:
mysql> SELECT * FROM first LEFT JOIN last ON first.id=last.id;
+------+------------+------+-----------+
| id | first_name | id | last_name |
+------+------------+------+-----------+
| 1 | Tom | NULL | NULL |
| 2 | Marry | 2 | Stone |
| 3 | Jarry | 3 | White |
+------+------------+------+-----------+
上面的結(jié)果,即用左邊表的每一行與右邊表匹配,如果匹配,則選擇到結(jié)果集中,如果沒有匹配,則結(jié)果集中,右邊表相應(yīng)的列置為NULL。
- 冉乃綱-老師CUUG金牌講師
- 冉老師 CUUG金牌講師 Oracle及RedHat高級(jí)講師、Unix/Linux 資深專家...[詳細(xì)了解老師]

- 陳衛(wèi)星-老師CUUG金牌講師
- 陳老師 CUUG金牌講師 精通Oracle管理、備份恢復(fù)、性能優(yōu)化 11年Ora...[詳細(xì)了解老師]
