MySQL中連線查詢之內連線

2021-10-25 01:55:38 字數 1448 閱讀 7811

內連線方式通常包括等值連線,非等值連線,自連線。內連線的特點是連線之後的兩個表等級相同,沒有主副之分,匹配得到就輸出,匹配不到就跳過。

先來看三張表:

員工表

部門表

薪資等級表

1、等值連線

在連線條件中使用等於號(=)運算子比較被連線列的列值,其查詢結果中列出被連線表中的所有列,包括其中的重複屬性。

問題:我想檢視員工的部門名稱和工作地點,這時候我們就可以使用等值連線進行查詢

select

e.ename,d.dname,d.loc

from

emp e

join

dept d

one.deptno = d.deptno;

結果:

2、非等值連線

在連線條件使用除等於運算子以外的其它比較運算子比較被連線的 列的列值。這些運算子包括》、>=、<=、、!《和<>,以及between…and…。

問題:查詢員工的薪資等級

select

e.ename,e.sal,s.grade

from

emp e

join

salgrade s

one.sal between s.losal and s.hisal;

結果:

3、自連線

顧名思義就是自己連線自己從而查詢想要的資訊。

我們觀察一下員工表,裡面有兩列是上級領導編號和自己的編號,當我們想要查詢員工領導的時候就可以使用自連線。

select

a.ename '員工'

,b.ename '領導'

from

emp a

join

emp b

ona.mgr = b.empno;

結果:

我們可以看到只顯示了13條記錄,但是有14個人,這是因為kinh是大boss,沒人能管他,所以匹配不到就沒有輸出。

多表查詢之內連線VS外連線

在實際專案中對資料庫進行查詢是再常見不過的東西了,但是根據不同的條件查詢所用的語句也是 千差萬別的,最常見的便是資料庫中多表之間的聯合查詢。說到聯合查詢就不得不提一下查詢語句中的表連線關係。我們所用的多表查詢語句中表間關係無非有兩 種,一種為內連線 inner join 另一種為外連線 outer ...

MySql(十)Sql92之內連線查詢

按照年代進行分類 按照功能進行分類 sql92標準 僅僅支援內連線 案例1 查詢女神名和對應的男神名 select name,boyname from beauty,boys where beauty.boyfriend id boys.id 案例2 查詢員工名對應的部門名 select last ...

mysql連線查詢例項 MySQL連線查詢例項詳解

建立表suppliers create table suppliers s id int not null auto increment,s name char 50 not null,s city char 50 null,s zip char 10 null,s call char 50 not...