mysql 全表连接_MySQL学习—多表查询(内连接,外链接,全连接)
一個項目中肯定會有多張數據表,而數據表之間會存在各種各樣的關系。這時我們需要的數據,可能不會直接通過一張表全部獲取到,這時就需要同時查詢多張數據表,得到最后想要的數據。
下面以具體的實例來進行相關知識概念的梳理。
首先創建兩張表并插入相關的數據:
1 create tableA(2 A_ID int primary keyauto_increment,3 A_NAME varchar(20) not null
4 );5 insert into A values(1,'蘋果');6 insert into A values(2,'橘子');7 insert into A values(3,'香蕉');8
9 create tableB(10 A_ID int primary keyauto_increment,11 B_PRICE double
12 );13 insert into B values(1,2.30);14 insert into B values(2,3.50);15 insert into B values(4,null);
View Code
1.內連接查詢:查詢的結果為兩表的公共部分
語法:
①select? ?列名1,列名2,......from table1,table2 where table1.列名 =?table2.列名;
實例:查詢出每個水果的價格? ? ?SELECT * FROM A,B WHERE A.A_ID=B.A_ID;
②select?列名1,列名2,.......from?table1 inner join table2 on?條件
實例:查詢出每個水果的價格? ??SELECT * FROM A INNER JOIN B ON A.A_ID=B.A_ID;
2.外鏈接查詢:外鏈接查詢分為左外連接,右外連接,全連接
1)左外連接:左表數據不動,右邊表的數據往左表上去添加,不管是否找到,都將顯示左邊表中全部記錄。
實例:查詢出每個水果的價格(不管能否查到水果對應的價格,都要把水果顯示出來)
SELECT * FROM A LEFT OUTER JOIN B ON A.A_ID=B.A_ID;
2)右外連接:用右邊表去左邊表查詢對應記錄,不管是否找到,右邊表全部記錄都將顯示。
實例:查詢每個水果的價格? ?SELECT * FROM A RIGHT OUTER JOIN? B ON A.A_ID=B.A_ID;
3)全連接:左外連接和右外連接的結果合并,其實就是左外鏈接和右外連接之和,其中不去除重復的使用union all,去除重復的使用union;
①SELECT * FROM A LEFT OUTER JOIN B ON A.A_ID=B.A_ID
UNION ALL
SELECT * FROM A RIGHT OUTER JOIN B ON A.A_ID=B.A_ID;
②SELECT * FROM A LEFT OUTER JOIN B ON A.A_ID=B.A_ID
UNION
SELECT * FROM A RIGHT OUTER JOIN B ON A.A_ID=B.A_ID;
總結
以上是生活随笔為你收集整理的mysql 全表连接_MySQL学习—多表查询(内连接,外链接,全连接)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何将hive与mysql连接_hive
- 下一篇: JAVA没前途,学JAVA的来看看