Oracle9i的簡化SQL語法
- CROSS IN——它在兩個表格中建立了一個卡迪爾列,就象是在Oracle8i中沒寫WHERE時那樣。
- NATURAL JOIN——這是一個很有用的Oracle9i的句法,它透過從WHERE子句中移動連線標準來改善SQL的穩定性
- USING子句——它可以透過名字來具體指定連線
- ON子句——這個句法允許在兩個表格中為連線具體指定欄目的名頭
LEFT OUTER JOIN——它返回表格中左邊的行和右邊的數值,如果沒有搭配的行的話,則返回零 - RIGHT OUTER JOIN——它返回表格中右邊的行和左邊的數值,如果沒有搭配的行的話,則返回零
- FULL OUTER JOIN——它返回的是兩個表格中所有的行,用零填滿每一個空格。這在Oracle8i中則沒有相應的此種句法
The CROSS JOIN
在Oracle中,CROSS JOIN產生了一個“卡迪爾的產物(Cartesian product)”,就象是在連線兩個表格時忘記加入一個WHERE子句一樣
select last_name,dept_id
from emp,depts;
在Oracle9i中,我們使用CROSS JOIN 來達到相同的結果
select last_name.dept_id
from emp
CROSS JOIN dept;
NATURAL JOIN
我喜歡NATURAL JOIN的原因在於它能夠透過在兩個表格中配對的欄目的名頭來自動的檢查join。它同時還簡化了Oracle9i SQL,由於where子句僅僅只能過濾謂語,當然,NATURAL JOIN要求在每一個表格中的欄目的名字相同。很有意思的是,這種特性甚至在沒有主要的或是外來的關鍵詞作為參考是也能起作用
Oracle8i,
Select book_title, sum(quantity)
From book, sales
Where book.book_id = sales.book_id
group by book_title;
Oracle9i
Select book_title, sum(quantity)
from book
natural join sales
group by book_title;
USING子句
假如幾個欄目有同樣的名字,而你又不想用所有的這些欄目來連線的時候,你就可以用USING子句。在USING子句中所列的欄目的句子中不會有任何的修飾詞,包括where子句也不會有
Oracle8i
select dept_id, city
from departments, locations
where departments.location_id = location.location_id;
Oracle9i
select department_name, city
from departments
JOIN locations
USING (location_id);
ON子句
ON子句被用於當在兩個表格中的欄目名字不搭配時來連線表格。而連線條件就是where子句中的過濾條件
Oracle8i
select department_name, city
from department, location
where department.location_id = location.loc_id;
Oracle9i
select department_name, city
from department d
JOIN location l
ON (d.location_id = l.id);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9099175/viewspace-905594/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql語句的簡化SQL
- Swift基礎語法簡化版Swift
- 常用的 SQL 語法SQL
- SQL語法SQL
- 聯絡生活來簡化sql語句SQL
- sql的 INNER JOIN 語法SQL
- 整理SQL語法SQL
- SQL基本語法SQL
- sql 99 語法SQL
- sql case語法和plsql case語法!SQL
- 通過圖表簡化sql語句的表關聯SQL
- 委託的簡化語法,聊聊匿名方法和閉包
- sql語法總結SQL
- sql語法case用法SQL
- PostgreSQLin與=any的SQL語法異同與效能優化SQL優化
- SQL語句的優化SQL優化
- 簡單的查詢語法
- SQL WHERE IN引數化編譯寫法簡單示例SQL編譯
- SQL語法之SQL 萬用字元SQL字元
- SQL語句規範的寫法SQL
- OCI插入SQL語句的寫法SQL
- Oracle SQL的一些語法OracleSQL
- Oracle sql with 語句語法與例子OracleSQL
- 有趣的 Scala 語言: 簡潔的 Scala 語法
- Swift,簡單語法Swift
- Tcl語法簡介
- Markdown簡單語法
- Java面試需要知道的SQL語句語法Java面試SQL
- oracle9i SQL ScriptsOracleSQL
- DBeaver如何快速格式化sql語句,真簡單!SQL
- Hive sql語法詳解HiveSQL
- SQL 語法速成手冊SQL
- 資料庫-SQL 語法資料庫SQL
- [SQL] Oracle基礎語法SQLOracle
- hive sql語法解讀HiveSQL
- Oracle常用sql語法集合OracleSQL
- SQL語法參考(轉)SQL
- 簡單的SQL語句學習SQL