SQL语言之DQL语言学习(八)多表查询/链接查询 SQL92学习
生活随笔
收集整理的這篇文章主要介紹了
SQL语言之DQL语言学习(八)多表查询/链接查询 SQL92学习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
用法:
當查詢的字段來自于多個表時,就會用到連接查詢按照功能分類
內(nèi)連接: 等值/非等值鏈接,自鏈接
外連接: 左/右外連接,全外鏈接
交叉鏈接
笛卡爾乘積現(xiàn)象
表1有m行,表2有n行,結(jié)果=m*n行
發(fā)生原因:沒有有效的連接條件
一.內(nèi)鏈接之等值連接
案例一:從女生表查找到男生表中的男女朋友關(guān)系
案例二:添加篩選條件
查詢有獎金的員工名,部門名
SELECT last_name,department_name,commission_pct FROM employees,departments WHERE employees.department_id=departments.department_id and employees.commission_pct is not null
案例三:添加分組
查詢每個城市的部門個數(shù)
SELECT count(*) 個數(shù), city FROM departments, locations WHERE departments.location_id=locations.location_id GROUP BY city;
案例四:添加排序
查詢每個工種的工種名 和 員工的個數(shù),并按照員工的個數(shù)進行排序
SELECT job_title,count(*) FROM employees,jobs WHERE jobs.job_id = employees.job_id GROUP BY job_title ORDER BY COUNT(*) DESC;
案例四:實現(xiàn)三表鏈接
查詢員工名,部門名 和 所在的城市
二.內(nèi)鏈接之非等值連接
查詢員工的工資與工資級別
SELECT last_name,salary,grade_level FROM employees e, job_grades g WHERE salary BETWEEN g.lowest_sal and g.highest_sal自連接
即連續(xù)查詢一個表兩次
案例:查詢員工名和上級領(lǐng)導(dǎo)的名稱
因為上級領(lǐng)導(dǎo)也是屬于員工,需要在員工表中查詢兩次
SELECT e.employee_id ,e.last_name 員工名 ,m.employee_id,m.last_name 領(lǐng)導(dǎo)名 FROM employees e, employees m #查詢第一遍備注為e,第二遍為m WHERE e.manager_id=m.manager_id總結(jié)
以上是生活随笔為你收集整理的SQL语言之DQL语言学习(八)多表查询/链接查询 SQL92学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL语言之DQL语言学习(七)分组查询
- 下一篇: SQL语言之DQL语言学习(九)多表查询