SG_007_CHAPTER 5
Simple Joins:
使用符號‘=’相連2個表。屬於內連線(inner join),因為只返回滿足連線條件的資料。
Complex Joins:
除了在where中使用join 條件,還可以在where中新增限制條件。
注意:當alias name定義好之後,只能使用alias name。
Using ANSI Syntax:
這種自然連線,根據2個表中具有同樣名稱的column,來連線多個表。 等同於使用符號‘=’,來連線表。 注意不能使用qualify the column name。 如果使用select * ,common columns只列出一個。 指定某一個column name來連線多個表。 不可以qualify table name 或者table alias 如果多個表之間,沒有相同名字的column name。或者想自定義連線條件,那麼可以使用join on。同樣可以使用qualify column name 或者alias name。 如果2個表中的column名是一樣的,那麼必須qualify column name。 Multi-Table Joins:加入多個條件,多表連線。 Cartesian Joins: 儘量避免笛卡爾連線,一般有n個表,至少保持n-1個 Using ANSI Syntax: Outer Joins: 外連線的作用就是返回表中的所有條目資料,即使這些資料不符合條件。 (+)符號的那一邊返回符合條件的條目語句。另一邊返回所有資料。 注意:若where 中的條件,A表使用了(+),那麼where中涉及A表的另外一些約束也必須(+),否則(+)將被忽略。 不能使用or或者in ,與(+)聯用。 Using ANSI Syntax: Left Outer Joins: 例子: Select column1,column2 From table_1 LEFT OUTER JOIN table_2 On table_1.column1=table2.column2 左邊table_1返回所有資料。 Right Outer Joins: 同上。 Full Outer Joins: 例子: Select column1,column2 From table_1 FULL OUTER JOIN table_2 On table_1.column1=table2.column2 或 Select column1,column2 From table_1, table_2 Where table_1.column1(+)=table2.column2 Union Select column1,column2 From table_1, table_2 Where table_1.column1=table2.column2(+) 預設都是inner型別,若定義outer join,那麼必須明確LEFT,RIGHT,FULL Other Multiple-Table Queries: Self-joins: 自連線可以使用ANSI syntax , 只能使用JOIN ..ON syntax 注意:NATURAL JOIN 和 JOIN ...USING 不能使用。 Nonequality Joins: 大於號,小於號連線表。 Using Set Operators: Union:返回任意結果 Union all:返回所有重複結果 Intersect:返回2個查詢結果的重複記錄。 Minus:返回一個,但不返回另一個。 Subqueries: 最內層子查詢最先執行。 From中可以包含inline views Single-Row Subqueries: 例子:在子查詢中使用max(), Multiple-Row Subqueries: 例子:select column From table Where column in (select column1 from table2 where column2=’111’) Correlated Subqueries: 見http://chenai79921.itpub.net/post/40195/490991 Scalar Subqueries: 不可以在group by或者having 語句中使用。 例子: Select (Scalar subqueries) From table Where (Scalar subqueries) Order by (Scalar subqueries)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11997930/viewspace-1027884/,如需轉載,請註明出處,否則將追究法律責任。
NATURAL [INNER] JOIN
[INNER] JOIN
USING (
[INNER] JOIN
ON
cross join
相關文章
- SG_007_CHAPTER ONEAPT
- SG_007_CHAPTER 6APT
- SG_007_CHAPTER 7APT
- SG_007_CHAPTER 8APT
- SG_007_CHAPTER 9APT
- SG_007_CHAPTER 10APT
- SG_007_CHAPTER 3(1)APT
- SG_007_CHAPTER 3(2)APT
- SG_007_CHAPTER 4 (匯聚函式)APT函式
- 5月5日
- 2024/5/5
- 玻璃如期走完5-5
- 5
- MyEclipse5 5的破解方法Eclipse
- H5 是 HTML5 嗎?H5HTML
- 5.3.php5-gd-GDmoduleforphp5PHP
- 2020-5-5-JAVAWEBJavaWeb
- 機器學習-5機器學習
- ASM (5)ASM
- 5/6
- 5/15
- 5/16
- 5/17
- 5/18
- C++ Primer 5th筆記(5)chapter5 語句C++筆記APT
- 紅米5A和紅米Note5A區別對比 紅米5A和Note5A哪個好?
- 【翻譯】.NET 5 Preview5釋出View
- HTML5系列:HTML5表單HTML
- HTML5系列:HTML5繪圖HTML繪圖
- HTML5系列:HTML5結構HTML
- 軟raid5 試驗(rhel 5)AI
- 榮耀5和榮耀5C的區別對比評測 榮耀5和5C哪個好?
- 銳龍r5和i5哪個好 筆記本買r5還是i5筆記
- NEO改進協議提案5(NEP-5)協議
- Junit5系列-什麼是Junit5?
- SAP UI5: UI Development Toolkit for HTML5UIdevHTML
- Socks5代理Socks5 Proxy
- 5種IO模型和5種通訊模式模型模式