對于mysql中多表查詢詳細(xì)說明
發(fā)表時(shí)間:2023-09-04 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]多表查詢 1. 分類: * 合并結(jié)果集(了解) * 連接查詢 * 子查詢合并結(jié)果集 * 要求被合并的表中,列的類型和列數(shù)相同 * UNION,去除重復(fù)行 * UNION ALL,不去除重復(fù)行 SELECT * FROM cd/*cd表*/UNION ALLSELECT *...
多表查詢 1. 分類:
* 合并結(jié)果集(了解) * 連接查詢 * 子查詢合并結(jié)果集 * 要求被合并的表中,
列的類型和列數(shù)相同 * UNION,去除重復(fù)行 * UNION ALL,不去除重復(fù)行 SELECT * FROM cd/*cd表*/UNION ALLSELECT * FROM ab;/*ab表*
連接查詢
1. 分類
* 內(nèi)連接
* 外連接
> 左外連接
> 右外連接
> 全外連接(MySQL不支持)
* 自然連接(屬于一種簡化方式)
2. 內(nèi)連接
* 方言:SELECT * FROM 表1 別名1, 表2 別名2 WHERE 別名1.xx=別名2.xx
* 標(biāo)準(zhǔn):SELECT * FROM 表1 別名1 INNER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
* 自然:SELECT * FROM 表1 別名1 NATURAL JOIN 表2 別名2
* 內(nèi)連接查詢出的所有記錄都滿足條件。
3. 外連接
* 左外:SELECT * FROM 表1 別名1 LEFT OUTER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
> 左表記錄無論是否滿足條件都會(huì)查詢出來,而右表只有滿足條件才能出來。左表中不滿足條件的記錄,右表部分都為NULL
* 左外自然:SELECT * FROM 表1 別名1 NATURAL LEFT OUTER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
* 右外:SELECT * FROM 表1 別名1 RIGHT OUTER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
> 右表記錄無論是否滿足條件都會(huì)查詢出來,而左表只有滿足條件才能出來。右表不滿足條件的記錄,其左表部分都為NULL
* 右外自然:SELECT * FROM 表1 別名1 NATURAL RIGHT OUTER JOIN 表2 別名2 ON 別名1.xx=別名2.xx
* 全鏈接:可以使用UNION來完成全鏈接
子查詢
:查詢中有查詢(查看select關(guān)鍵字的個(gè)數(shù)。
1. 出現(xiàn)的位置:
* where后作為條件存在
* from后作為表存在(多行多列)
2. 條件
* (***)單行單列:SELECT * FROM 表1 別名1 WHERE 列1 [=、>、<、>=、<=、!=] (SELECT 列 FROM 表2 別名2 WHERE 條件)
* (**)多行單列:SELECT * FROM 表1 別名1 WHERE 列1 [IN, ALL, ANY] (SELECT 列 FROM 表2 別名2 WHERE 條件)
* (*)單行多列:SELECT * FROM 表1 別名1 WHERE (列1,列2) IN (SELECT 列1, 列2 FROM 表2 別名2 WHERE 條件)
* (***)多行多列:SELECT * FROM 表1 別名1 , (SELECT ....) 別名2 WHERE 條件
以上就是關(guān)于mysql中多表查詢詳解的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。