連線 9i 之後的用法
1. cross join 笛卡爾積形式的連線 相當於 select empno,ename,dname from emp , dept;
沒有太大的意義
2. natural join 自然連線
<1> 從兩張表中選出同名的列的值對應相等的所有行。
<2> 如果兩個表同名列的資料型別不同,則出錯。
<3> 不允許參照列上使用表名或者別名作為字首。
3.using 子句 select empo,ename,deptno,dname from emp,join dept using (deptno);
可以指明按照哪幾個字段連線。 不用加上別名
4. on select empo,ename,a.deptno,dname from emp a,join b dept on (a.deptno=b.deptno);
必須加上別名
5. 內連線 inner join 只返回滿足連線條件的資料
外連線 outer join <1> left outer join 左外連線 除了返回滿足條件的行以外,還返回左表
中不滿足條件的行
<2> right outer join 右外聯接。。。。。還返回返回右表中不滿足的行
<3> full outer join 滿外聯接。。。。。還返回兩表中不滿足條件的所有行。
這幾種都配合 using 或 on 使用
***************===子查詢注意事項***************
1 在查詢是基於未知值時應考慮使用子查詢
2 子查詢必須包含在括號內
3 建議將子查詢放在比較運算子的右側,以增強可讀性。
4 除非進行top-n (取前幾名?)分析,否則不要在子查詢中使用order by 子句。
5對單行子查詢使用單行運算子
6對多行子查詢使用多行運算子
***************多行子查詢**********====
運算子 含義
in 等於列表中的任何乙個 只要等於in中的都查出來
any 和子查詢返回的任意乙個值比較 大於結果集中最小的
all 和子查詢返回的所有值比較 大於結果集中最大的
**********===top-n分析***************==
select * from emp order by sal desc rownum <5;
SQL基礎 聯接 join
理解關係表和關係表的設計。設計關係表的時候,將資訊分散到多個表中,避免在乙個表中存在太多重複資訊。關係錶能更好地擴充套件。當資訊存在多個表裡時,如何在一條查詢語句裡獲取來自不同表中的資訊。join就是一種機制,在同乙個條查詢語句中關聯多個表中的資訊。從關係運算的角度來說,連線運算是從兩個關係的笛卡爾...
sql基礎語法 聯接查詢
交叉聯接 1.不帶where條件的,將返回兩個表的 行乘積 select c.e.from sales.customers c cross join hr.employees e 2.帶where 條件的,交叉聯接不能使用on select e1.empid,e1.firstname,e1.last...
基礎練習3
問題描述 利用字母可以組成一些美麗的圖形,下面給出了乙個例子 abcdefg babcdef cbabcde dcbabcd edcbabc 這是乙個5行7列的圖形,請找出這個圖形的規律,並輸出乙個n行m列的圖形。輸入格式 輸入一行,包含兩個整數n和m,分別表示你要輸出的圖形的行數的列數。輸出格式 ...