十六 Mysql 連線查詢

2021-07-30 06:52:09 字數 1569 閱讀 7794

1. 一張表操作,叫做單錶查詢

2. 實際開發時,儲存在多張表中的,

3. 在檢索的時候,將多種表聯合起來,獲取資料,這種查詢方式叫做,連線查詢,或者跨表查詢

1.  sql92[ 1992]

2. sql99 [1999: 更新的語法]

3. dba: database administractor

1.  內連線

* 等值連線

* 非分值連線

* 自連線

2. 外連線

* 左外連線(左連線)

* 右外連線(右連線)

3. 全連線(多個表連線時,沒加條件限制)

若兩張表進行查詢時,沒有條件限制,則總數為兩張表的乘積,成為笛卡爾積

,兩張表連線時。需要新增條件限制。

sql92語法,內連線-等值寫法

select e.ename, d.dname from emp e, dept d where e.deptno = d.deptno
sql99語法,內連線-等值寫法

select e.ename, d.dname 

from emp e

inner (可以省略) join dept d on e.deptno = d.deptno

sql99語法,內連線-非等值寫法

select 

e.ename, e.sal, s.grade

from emp e

join salgrade s on e.sal between s.losal

and s.hisal

;

sql99語言, 內練劍-自連線

select e1.ename, e2.ename boss

from emp e1

left

join emp e2 on e1.mgr = e2.empno

sql99 左外連線/右外連線

select

d.dname,

e.ename

from dept d

left

outer(可以省略) join emp e on d.deptno = e.deptno

多表關聯的執行原理

select

e.ename,

d.dname,

s.grade

from emp e

left

join dept d on d.deptno = e.deptno

left

join salgrade s on e.sal between s.losal and s.hisal

from

a left join b

left join c

a 先和b進行關聯, 然後,a在和c進行關聯。

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...

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...

mysql連線查詢on 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...