sql92語法,sql99語法,連線查詢

2021-09-24 02:45:13 字數 2170 閱讀 1255

連線查詢的分類:按年代分為sql192標準僅僅支援內連線,sql199標準支援內連線,左外連線,右外連線,交叉連線

按功能分為內連線,外連線,交叉連線

sql92標準:內連線包括1.等值連線:select name,boyname

form boys,beauty

where beauty.boyfriend_id = boys.id;

多表等值連線的結果為多表的交集部分

n表連線至少需要n-1個連線條件

多表的順序沒有要求

一般需要為表起別名

2.非等值連線:select salary,grade_level

form employees e,job_grades g

where salary between g.'lowest_sal' and 'highest_sal';

3.自連線:select e.employee_id,e.last_name,m.employee_id,m.last_name

from employees e,employees m

where e.'manager_id' = m.'employee_id';

sql99語法:包括內連線(inner),外連線(left outer ,right outer,full outer),交叉連線(cross join)

語法:select 查詢列表

form 表1 別名 【連線型別】

join 表2 別名

on 連線條件

【where 篩選條件】

特點:新增排序,分組,篩選

inner可以省略

篩選條件放在where後面,連線條件放在on後面,提高分離性

1.內連線:select 查詢列表

form 表1 別名

inner join 表2 別名

on 連線條件

等值連線:select last_name,department_name

form employee e

inner join department d

on e.'department_id' = d.'department_id';

非等值連線:select  salary,grade_level

from employee e

join job_grades g

on e.'salary' between g.'lowest_sal' and g.'highest_sal'

group by grade_level;

自連線:select e.last_name,m.last_name

from employees e

join employees m

on e.'manager_id' = m.'employee_id'

where e.'last_name' like '%k%';

2.外連線 :用於查詢乙個表中有,乙個表中沒有的

特點:外連線的查詢結果是主表中的所有記錄

如果從表中有和它匹配的值,則顯示出來,沒有顯示null

select * from beauty;

select * from boys;

左外連線:left join左邊的是主表

select b.name,bo.*

form beauty b

left outer join boys bo

on b.'boyfriend_id' = bo.'id';

右外連線:right join右邊的是主表

select b.name,bo.*

form boys bo

right outer join  beauty b

on b.'boyfriend_id' = bo.'id';

全外連線:等於內連線的結果,加上表1有但表2沒有的,加上表2有表一沒有的

use girls;

select b.*,bo.*

from beauty b

full outer join boys bo

on b.'boyfriend_id' = 'bo.id';

交叉連線:select b.*,bo.*

form beauty b

cross join boys bo;

關於SQL92與SQL99語法的區別與PK

sql分類 1.笛卡爾積 表乘表 2.等值連線 表的連線條件使用 3.非等值連線 表的連線條件使用 4.自連線 自己連線自己 5.外連線 1.左外連線,在等號右邊 2.右外連線,在等號左邊 3.在哪一邊的列,該錶就補充null sql分類 1.cross join 交叉連線 笛卡爾積 不需要on關鍵...

MySQL連線查詢 sql92語法

含義 當查詢結果涉及到多個表的字段時,需要使用連線查詢 分類 按年代分 sql92標準 sql99標準 通常使用sql99標準 按功能分 內連線 等值連線 非等值連線 自連線 外連線 左外連線 右外連線 全外連線 交叉連線 等值連線特點 1 多表等值連線的結果為多表的交集部分 2 n表連線,至少需要...

oracle筆記三(Sql99語法)

1.交叉連線cross join 相當於笛卡爾積效果 select e.ename,d.dname from emp e cross join dept d 2.自然連線 natural join select e.ename,d.dname from emp e natural join dept...