SQL语言之DQL语言学习(九)多表查询/链接查询 SQL99学习
生活随笔
收集整理的這篇文章主要介紹了
SQL语言之DQL语言学习(九)多表查询/链接查询 SQL99学习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
語法
select 查詢列 表 from 表1 別名 [連接類型] join 表2 別名 on 連接條件 #where 篩選條件 #group by 分組 #having 篩選條件 #order by 排序列表內(nèi)連接
語法:
select 查詢列表
from 表1 別名
inner join 表2 別名
on 連接條件;
inner 可省略
等值連接
案例1: 查詢員工名,部門名
SELECT last_name,department_name FROM employees e INNER JOIN departments d on e.department_id = d.department_id案例二:
查詢部門個數(shù)>3 的城市名 和 部門個數(shù)(添加分組和篩選)
SELECT city,COUNT(*) 部門個數(shù) FROM departments d INNER JOIN locations l on d.location_id = l.location_id GROUP BY city HAVING COUNT(*)>3
非等值連接
案例:查詢員工的工資級別
SELECT last_name,salary, grade_level from employees e join job_grades g on e.salary BETWEEN g.lowest_sal and g.highest_sal自連接
查詢員工的名字,上級的名字
SELECT e.last_name 員工,m.last_name 上級名 FROM employees e JOIN employees m ON e.manager_id = m.employee_id外連接
特點:
1、外連接的查詢結(jié)果為主表中的所有記錄
如果從表中有和它匹配的,則顯示匹配的值如果從表中沒有和它匹配的,則顯示null
外連接查詢結(jié)果=內(nèi)連接結(jié)果+主表中有而從表沒有的記錄
2、左外連接,left join左邊的是主表
右外連接,right join右邊的是主表
3、左外和右外交換兩個表的順序,可以實現(xiàn)同樣的效果
案例:查詢哪個部門沒有員工
左外連接
SELECT d.*,e.employee_id from departments d LEFT OUTER JOIN employees e on d.department_id = e.department_id WHERE e.employee_id is NULL
右外連接
交叉連接,及對倆表進行笛卡爾乘積
比如1號表10條數(shù)據(jù),2號表4條數(shù)據(jù),那么結(jié)果就是40條數(shù)據(jù)
語法
select A,B from 表1 cross join 表2總結(jié)
總結(jié)
以上是生活随笔為你收集整理的SQL语言之DQL语言学习(九)多表查询/链接查询 SQL99学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL语言之DQL语言学习(八)多表查询
- 下一篇: 从0搭建一个Springboot+vue