MySQL基礎(chǔ)之多表查詢案例分享
多表查詢案例
數(shù)據(jù)環(huán)境準備
create table salgrade( grade int, losal int, hisal int ) comment '薪資等級表'; insert into salgrade values (1,0,3000); insert into salgrade values (2,3001,5000); insert into salgrade values (3,5001,8000); insert into salgrade values (4,8001,10000); insert into salgrade values (5,10001,15000); insert into salgrade values (6,15001,20000); insert into salgrade values (7,20001,25000); insert into salgrade values (8,25001,30000);
在這個案例中,我們主要運用上面所講解的多表查詢的語法,完成以下的12個需求即可,而這里主要涉及到的表就三張:emp員工表、dept部門表、salgrade薪資等級表 。
查詢員工的姓名、年齡、職位、部門信息 (隱式內(nèi)連接)
表: emp , dept
連接條件: emp.dept_id = dept.id
select e.name , e.age , e.job , d.name from emp e , dept d where e.dept_id = d.id;

查詢年齡小于30歲的員工的姓名、年齡、職位、部門信息(顯式內(nèi)連接)
表: emp , dept
連接條件: emp.dept_id = dept.id
select e.name , e.age , e.job , d.name from emp e inner join dept d on e.dept_id =d.id where e.age < 30;

查詢擁有員工的部門ID、部門名稱
表: emp , dept
連接條件: emp.dept_id = dept.id
select distinct d.id , d.name from emp e , dept d where e.dept_id = d.id;

查詢所有年齡大于40歲的員工, 及其歸屬的部門名稱; 如果員工沒有分配部門, 也需要展示出來(外連接)
表: emp , dept
連接條件: emp.dept_id = dept.id
select e.*, d.name from emp e left join dept d on e.dept_id = d.id where e.age >40 ;

查詢所有員工的工資等級
表: emp , salgrade
連接條件 : emp.salary >= salgrade.losal and emp.salary <= salgrade.hisal
-- 方式一 select e.* , s.grade , s.losal, s.hisal from emp e , salgrade s where e.salary >= s.losal and e.salary <= s.hisal; -- 方式二 select e.* , s.grade , s.losal, s.hisal from emp e , salgrade s where e.salary between s.losal and s.hisal;

到此這篇關(guān)于MySQL基礎(chǔ)之多表查詢案例分享的文章就介紹到這了,更多相關(guān)MySQL多表查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL null與not null和null與空值''''''''的區(qū)別詳解
這篇文章主要介紹了MySQL null與not null和null與空值''的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-11-11
MySQL解決Navicat設(shè)置默認字符串時的報錯問題
本文主要介紹了MySQL解決Navicat設(shè)置默認字符串時的報錯,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-06-06
mysql中int(3)和int(10)的數(shù)值范圍是否相同
依稀還記得有次面試,有面試官問我int(10)與int(11)有什么區(qū)別,當時覺得就是長度的區(qū)別吧,后來發(fā)現(xiàn)事情不是這么簡單,這篇文章主要給大家介紹了關(guān)于mysql中int(3)和int(10)的數(shù)值范圍是否相同的相關(guān)資料2021-10-10
Jaspersoft?Studio添加mysql數(shù)據(jù)庫配置步驟
這篇文章主要為大家介紹了Jaspersoft?Studio添加mysql數(shù)據(jù)庫配置的步驟過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02

