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