--笛卡爾積
--使用的字段,是多個表中存在的,指定欄位的**
select empno,emp.deptno from emp,dept;
--等值連線 可以是相同名字的字段,也可以是非相同名字的字段,但是要保證兩個欄位的型別相同
select
*from emp,dept where emp.deptno=dept.deptno;
select
*from emp,dept where emp.ename=dept.dname;
--沒有滿足條件的資料
--非等值連線
--薪資2500的等級資訊
select
*from salgrade where
2500
between losal and hisal;
--查詢所有員工的資訊及工資等級資訊
select
*from emp e,salgrade s where e.sal between s.losal and s.hisal;
需求:想要期中的某張表中所有的資料全部展示,無論是否滿足等值連線條件 --外鏈結
左外連線 主表在,的左邊叫做左連線
右連線 主表在,的右邊叫做右連線
自連線 特殊的連線,自己連線自己 也可以自外鏈結
select
*from emp e2,emp e1 where e1.mgr=e2.empno(+)
;--右連線
select
*from emp e1,emp e2 where e1.mgr=e2.empno(+)
;--左連線
select
*from emp e1,emp e2 where e1.mgr=e2.empno;
--自連線
--92寫法
select
*from emp ,dept;
--99寫法 交叉連線 cross join
select
*from emp cross
join dept;
1. 自然連線 natural join 內部自動查詢同名字段|主外來鍵關係 自動實現等值連
2. 不能指定限定詞
select deptno from emp natural
join dept;
select
*from emp join dept using
(deptno)
;
select
*from emp join dept on emp.deptno = dept.deptno;
--查詢10和30部門的員工的名稱,部門名稱,薪資,薪資等級,上級名稱
select e.ename, d.dname, e.deptno, e.sal, s.grade, m.ename
from emp e
join emp m
on e.mgr = m.empno
join salgrade s
on e.sal between s.losal and s.hisal
join dept d
on e.deptno = d.deptno
where deptno in(10
,30);
--外連線
--左外連線 left join .. on..
select
*from emp e1 left
join emp e2 on e1.mgr = e2.empno;
--右外連線 right join .. on..
select
*from emp e2 right
join emp e1 on e1.mgr = e2.empno;
sql92語法,sql99語法,連線查詢
連線查詢的分類 按年代分為sql192標準僅僅支援內連線,sql199標準支援內連線,左外連線,右外連線,交叉連線 按功能分為內連線,外連線,交叉連線 sql92標準 內連線包括1.等值連線 select name,boyname form boys,beauty where beauty.boyf...
oracle資料庫92語法
多表連線 92語法 99語法 笛卡爾積 select from dept,emp 找出30部門的員工名稱及部門名稱 select ename,dname from emp e,dept d where e.deptno d.deptno and e.deptno 30 先連線後判斷 select e...
Oracle9 2修改IP後的操作
oracle9.2修改ip後的操作 1.除了需要修改這些檔案以外,sqlnet.ora,tnsnames.ora和listener.ora。2.還要修改密碼檔案。d oracle ora92 database orapwd file pwdoralocal.ora password mypasswo...