一、mysql常用連接
INNER JOIN(內(nèi)連接,或等值連接):獲取兩個(gè)表中字段匹配關(guān)系的記錄。 LEFT JOIN(左連接):獲取左表所有記錄,即使右表沒(méi)有對(duì)應(yīng)匹配的記錄。 RIGHT JOIN(右連接): 與 LEFT JOIN 相反,用于獲取右表所有記錄,即使左表沒(méi)有對(duì)應(yīng)匹配的記錄。| mysql> select * from name_address;+----------+------+----+| address | name | id |+----------+------+----+| 西北一路 | 張三 | 1 || 西北二路 | 李四 | 2 || 西北三路 | 王五 | 3 |+----------+------+----+3 rows in setmysql> select * from name_age;+-----+--------+----+| age | name | id |+-----+--------+----+| 18 | 張三 | 1 || 20 | 王五 | 2 || 21 | 路人甲 | 3 |+-----+--------+----+3 rows in set |
1、INNER JOIN
INNER JOIN與一般的連表查詢一致,即使用逗號(hào)隔開(kāi)的查詢方式。
| mysql> SELECT a.`name`,a.age,b.address FROM name_age a INNER JOIN name_address b WHERE(on) a.`name`=b.`name`;+------+-----+----------+| name | age | address |+------+-----+----------+| 張三 | 18 | 西北一路 || 王五 | 20 | 西北三路 |+------+-----+----------+2 rows in set |
2、LEFT JOIN
以左邊的數(shù)據(jù)表為準(zhǔn)
| mysql> SELECT a.`name`,a.age,b.address FROM name_age a left JOIN name_address b on a.`name`=b.`name`;+--------+-----+----------+| name | age | address |+--------+-----+----------+| 張三 | 18 | 西北一路 || 王五 | 20 | 西北三路 || 路人甲 | 21 | NULL |+--------+-----+----------+3 rows in set |
3、RIGHT JOIN
與LEFT JOIN相反,即以右邊的數(shù)據(jù)為準(zhǔn)
| mysql> SELECT b.`name`,a.age,b.address FROM name_age a right JOIN name_address b on a.`name`=b.`name`;+------+------+----------+| name | age | address |+------+------+----------+| 張三 | 18 | 西北一路 || 王五 | 20 | 西北三路 || 李四 | NULL | 西北二路 |+------+------+----------+3 rows in set |
以上就是MySQL 連接查詢的資料整理,大家如有疑問(wèn)可以留言討論,共同進(jìn)步,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選