MySQL筆記之銜接查詢詳解。本站提示廣大學習愛好者:(MySQL筆記之銜接查詢詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL筆記之銜接查詢詳解正文
銜接查詢是將兩個或兩個以上的表按某個前提銜接起來,從當選取須要的數據
當分歧的表中存在表現雷同意義的字段時,可以經由過程該字段來銜接這幾張表
參考表:employee
參考表:department
可以看到,下面兩張表都有統一個字段d_id
當兩張表含有雷同意義的字段(可以分歧名)時便可以停止銜接查詢
內銜接查詢上面的表中也異樣應用這一字段
外銜接查詢
外查詢也須要經由過程指定字段來停止銜接,當該字段取值相等時,可以查詢出該記載
並且,該字段取值不相等的記載也能夠查詢出來
外銜接查詢包含左銜接查詢和右銜接查詢
左銜接查詢
mysql> SELECT num, name, employee.d_id, d_name, function
-> FROM employee LEFT JOIN department
-> ON employee.d_id=department.d_id;
+------+--------+------+-----------+--------------+
| num | name | d_id | d_name | function |
+------+--------+------+-----------+--------------+
| 1 | 張三 | 1001 | 科技部 | 研發產物 |
| 2 | 李四 | 1001 | 科技部 | 研發產物 |
| 3 | 王五 | 1002 | 臨盆部 | 臨盆產物 |
| 4 | Aric | 1004 | NULL | NULL |
+------+--------+------+-----------+--------------+
rows in set (0.00 sec)
此處不只查詢出了兩表中d_id字段相婚配的信息
而且經由過程LEFT JOIN查詢出了employee表中一切指定字段的信息
因為Aric沒有對應d_name和function信息,所以顯示null
右銜接查詢
mysql> SELECT num, name, employee.d_id, d_name, function
-> FROM employee RIGHT JOIN department
-> ON employee.d_id=department.d_id;
+------+--------+------+-----------+--------------+
| num | name | d_id | d_name | function |
+------+--------+------+-----------+--------------+
| 1 | 張三 | 1001 | 科技部 | 研發產物 |
| 2 | 李四 | 1001 | 科技部 | 研發產物 |
| 3 | 王五 | 1002 | 臨盆部 | 臨盆產物 |
| NULL | NULL | NULL | 發賣部 | 謀劃發賣 |
+------+--------+------+-----------+--------------+
rows in set (0.00 sec)
與下面相反,這裡查詢出了婚配的信息和department表中的一切指定字段的信息
然則因為employee表中部門字段沒有對應,是以最初一行記載有顯示NULL
復合前提銜接查詢
mysql> SELECT num, name, employee.d_id, sex, age, address
-> FROM employee, department
-> WHERE employee.d_id=department.d_id
-> AND age>=25;
+------+--------+------+------+------+-------------+
| num | name | d_id | sex | age | address |
+------+--------+------+------+------+-------------+
| 1 | 張三 | 1001 | 男 | 26 | 3號樓5層 |
| 3 | 王五 | 1002 | 男 | 25 | 5號樓1層 |
+------+--------+------+------+------+-------------+
rows in set (0.00 sec)
復合前提銜接查詢是在停止銜接查詢的時刻參加限制前提,此處的age>=25就是
平日情形下,限制前提越多,查詢越准確,限制前提可用AND累加
另外,還可以用復合前提停止ORDER BY 排序
tips:銜接查詢中應用最多的是內銜接查詢,而外銜接查詢應用頻率較低