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
- 5/6
- 5/15
- 5/16
- 5/17
- 5/19
- 5/18
- 5/20
- 5/21
- 5/22
- 5/23
- 5/24
- 5/26
- 5/25
- 5/27
- exam 5
- 5/28
- 5/29
- 5/30