MySQL基礎(chǔ)之多表查詢案例分享
多表查詢案例
數(shù)據(jù)環(huán)境準(zhǔn)備
create table salgrade( grade int, losal int, hisal int ) comment '薪資等級(jí)表'; 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);
在這個(gè)案例中,我們主要運(yùn)用上面所講解的多表查詢的語(yǔ)法,完成以下的12個(gè)需求即可,而這里主要涉及到的表就三張:emp員工表、dept部門(mén)表、salgrade薪資等級(jí)表 。
查詢員工的姓名、年齡、職位、部門(mén)信息 (隱式內(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歲的員工的姓名、年齡、職位、部門(mén)信息(顯式內(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;

查詢擁有員工的部門(mén)ID、部門(mén)名稱
表: 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歲的員工, 及其歸屬的部門(mén)名稱; 如果員工沒(méi)有分配部門(mén), 也需要展示出來(lái)(外連接)
表: 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 ;

查詢所有員工的工資等級(jí)
表: 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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL null與not null和null與空值''''''''的區(qū)別詳解
這篇文章主要介紹了MySQL null與not null和null與空值''的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
銀河麒麟V10安裝MySQL5.7的詳細(xì)過(guò)程
這篇文章主要介紹了銀河麒麟V10安裝MySQL5.7,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05
MySQL解決Navicat設(shè)置默認(rèn)字符串時(shí)的報(bào)錯(cuò)問(wèn)題
本文主要介紹了MySQL解決Navicat設(shè)置默認(rèn)字符串時(shí)的報(bào)錯(cuò),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
mysql中int(3)和int(10)的數(shù)值范圍是否相同
依稀還記得有次面試,有面試官問(wèn)我int(10)與int(11)有什么區(qū)別,當(dāng)時(shí)覺(jué)得就是長(zhǎng)度的區(qū)別吧,后來(lái)發(fā)現(xiàn)事情不是這么簡(jiǎn)單,這篇文章主要給大家介紹了關(guān)于mysql中int(3)和int(10)的數(shù)值范圍是否相同的相關(guān)資料2021-10-10
Jaspersoft?Studio添加mysql數(shù)據(jù)庫(kù)配置步驟
這篇文章主要為大家介紹了Jaspersoft?Studio添加mysql數(shù)據(jù)庫(kù)配置的步驟過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-02-02

