MySQL中的多表连接
MySQL中的多表連接
當(dāng)查詢的數(shù)據(jù)并不是來源一個(gè)表時(shí),需要使用多表鏈接操作完成查詢。根據(jù)不同表中的數(shù)據(jù)之間的關(guān)系查詢相關(guān)聯(lián)的數(shù)據(jù)。
一、語法結(jié)構(gòu)
使用一個(gè)表在多個(gè)表中查詢數(shù)據(jù);
Where子句中寫連接條件;
二、等值連接
等值連接也被稱為簡單連接 (simple joins) 或內(nèi)連接 (inner joins)。是通過等號來判 斷連接條件中的數(shù)據(jù)值是否相匹配。
例
查詢雇員 King 所在的部門名稱;
三、非等值連接
一個(gè)非等值連接是一種不使用相等(=)作為連接條件的查詢。如!=、>、<、>=、<=、
BETWEEN AND 等都是非等值鏈接的條件判斷;
例
一、創(chuàng)建 sal_level 表,包含 lowest_sal,highest_sal,level。
Create table sal_level(lowest_sal int , highest_sal int , level varchar(10));二、插入數(shù)據(jù)
三、查詢所有雇員的薪水級別。
Select e.last_name , s.level from employees e , sal_level s where e.salary between s.lowest_sal and highest_sal ;
四、自連接
使用一個(gè)表連接它自身的操作。
例
一、修改 employees 表,添加 manager_id 列;
Alter table employees add manager_id int;二、修改數(shù)據(jù) Oldlu 是 kevin 與 King 的經(jīng)理;Taylor 是 Fox 的經(jīng)理;
1.Update employees set manager_id = 1 where last_name = “King” or last_name = “Kevin”; 2.Update employees set manager_id = 3 where last_name = “Fox”;三、查詢每個(gè)雇員的經(jīng)理的名字以及雇員的名字。
Select em.last_name , ew.last_name from employees ew , employees em where ew.manager_id = em.employees_id ;總結(jié)
以上是生活随笔為你收集整理的MySQL中的多表连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL中常见的单行函数(下)
- 下一篇: MySQL中的外连接