多表查詢的基本概念:
查詢經驗:
1、在日後的開發之中,很多人都肯定要接觸到許多新的資料庫和資料表,那麼在這種時候有兩種做法:
做法一:新人做法,上來直接輸入以下命令
select * from table
2、當資料特別多的時候,耗費時間分明顯,所以盡量查部分資料
多表連線問題:
多表別名的使用:
select * from emp e,dept d where e.deptno=d.deptno;
左右連線:
以哪邊為主在哪邊加「(+)」
--左右連線,oracle獨有
select * from emp e, dept d where e.deptno (+)=d.deptno
select e.ename,m.ename manager from emp e,emp m where e.mgr = m.empno(+)
--笛卡爾積
select *from emp cross join dept
--自然連線
select * from emp natural join dept
--join...using子句:使用者自己指定乙個消除笛卡爾積的關聯字段
select * from emp join dept using(deptno)
--join...on
select *from emp join dept on (emp.deptno=dept.deptno)
--左連線
select *from emp left outer join dept on(emp.deptno=dept.deptno)
--右連線
select *from emp right outer join dept on(emp.deptno=dept.deptno)
--全連線
select *from emp full outer join dept on(emp.deptno=dept.deptno)
Oracle 多表查詢
sql 外連線 sql 按部門統計員工人數 部門號 部門名稱 人數 sql select d.deptno,d.dname,count e.empno 2 from dept d,emp e 3 where d.deptno e.deptno 4 group by d.deptno,d.dname ...
Oracle 多表查詢
等值和不等值連線查詢 為了避免笛卡爾集,可以在 where 加入有效的連線條件。oracle 連線多表查詢 在 where 子句中寫入連線條件。在表中有相同列時,在列名之前加上表名字首 select table1.column,table2.column from table1,table2 whe...
oracle 多表查詢
多表查詢 多表查詢,又稱表聯合查詢,即一條sql語句涉及到的表有多張,資料通過特定的連線進行聯合顯示.笛卡爾積 在數學中,兩個集合x和y的笛卡尓積 cartesian product 又稱直積,表示為x y.假設集合a 集合b 則兩個集合的笛卡爾積為。在資料庫中,如果直接查詢倆張表,那麼其查詢結果就...