【Oracle】--連線查詢
為什麼使用連線?
分解資料為多個表,能避免過多的資料冗餘,這樣可以讓資料庫具有更大的伸縮性。但是表數量的增多,多於多表查詢怎麼解決呢?答案就是:連線。
什麼是內連線、自連線、外連線?
表1-custominfo
表2-orderinfo
內連線
也稱為簡單連線,它會把兩個或多個表進行連線,只能查詢出匹配記錄,不匹配的記錄將無法查詢出來。
常用的兩種連線方式:
1)等值
連線條件中使用“=”(等號)連線兩個條件列表。
下面的這兩種查詢方式,結果一樣~
①SELECT * FROM CUSTOMINFO c ,ORDERINFO d WHERE c.CID=d.CUSTOMID
②SELECT * FROM CUSTOMINFO c INNER JOIN ORDERINFO d ON c.CID=d.CUSTOMID
2)不等值
連線條件中使用“>”、”>=”、”<=”、”<”、”!=”、”<>”、”BETWEEN…AND…”、”IN”等連線兩個條件列表,但是這種方式通常需要和其他等值運算一起使用,否則檢索出來的資料可能沒有實際意義。
①SELECT * FROM CUSTOMINFO c ,ORDERINFO d WHERE c.CID IN d.CUSTOMID
②SELECT * FROM CUSTOMINFO c INNER JOIN ORDERINFO d ON d.CUSTOMID IN c.CID
內連線中,關鍵字“INNER JOIN”可以直接寫成“JOIN”,系統會把“JOIN”識別成內連線。但是“ON”關鍵字不能省略。
自連線
把自身表的一個引用作為另一個表來處理,獲取特殊資料。
外連線
1)左外連線
返回結果符合連線條件的行記錄,還包含左邊表中的全部記錄。
①SELECT * FROM CUSTOMINFO c LEFT JOIN ORDERINFO D ON D .CUSTOMID = c.CID
2)右外連線
同左外連線。
3)全外連線
返回所有匹配成功的記錄,並返回左表未匹配成功的記錄,也返回右表未匹配成功的記錄。
①SELECT * FROM CUSTOMINFO c FULL JOIN ORDERINFO D ON D .CUSTOMID = c.CID
連線查詢需要注意什麼?
1)SELECT * FROM A ,B得到的結果是A*B條資料。
2)A左連線B A.ID=B.ID,B左連線C B.ID=C.ID ,不要擔心B.ID是否存在,即使它不存在,也能關聯C表,只不過關聯的那部分欄位資料為null.
3)Oracle大小寫敏感,不要寫錯了欄位,關鍵字還是可以寫成小寫的。
4)多表級聯查詢很方便,但是很可能會影響查詢效率,這就要看開啟、關閉資料庫跟關聯表哪個用的時間久了。
相關文章
- oracle 連線查詢Oracle
- oracle連線查詢詳解Oracle
- 連線查詢
- SQL連線查詢SQL
- sql 連線查詢例項(left join)三表連線查詢SQL
- MySQL之連線查詢和子查詢MySql
- mysql查詢語句5:連線查詢MySql
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- 1112跨表連線查詢
- MySQL學習-連線查詢MySql
- 深圳軟體測試學習:【資料庫】-【oracle】-連線查詢資料庫Oracle
- 【從零開始學習Oracle資料庫】(3)函式與子查詢和連線查詢Oracle資料庫函式
- MySQL內連線查詢語句MySql
- Hibernate【查詢、連線池、逆向工程】
- Oracle 查詢Oracle
- PHP連線、查詢MySQL資料庫PHPMySql資料庫
- MySQL 連線查詢超全詳解MySql
- 3.DQL資料查詢語言(內連線,外連線,自連線)
- MySQL講義第27講——select 查詢之自連線查詢MySql
- MySql中的資料查詢語言(DQL)三:連線查詢MySql
- mysql求交集:UNION ALL合併查詢,inner join內連線查詢,IN/EXISTS子查詢MySql
- Oracle psu查詢Oracle
- oracle 基本查詢Oracle
- oracle常用查詢Oracle
- MYSQL學習筆記23: 多表查詢(自連線內連線+左右外連線)MySql筆記
- 離線查詢與線上查詢
- oracle 精確查詢和模糊查詢Oracle
- 資料庫學習(四)連線查詢資料庫
- mysql常用連線查詢join,left,right,crossMySqlROS
- nodejs 連線 mysql 查詢事務處理NodeJSMySql
- Oracle:優化方法總結(關於連表查詢)Oracle優化
- Oracle-多表查詢Oracle
- Oracle 查詢轉換Oracle
- oracle樹形查詢Oracle
- Oracle in 查詢優化Oracle優化
- Mysql中常用函式 分組,連線查詢MySql函式
- 使用SSMS連線和查詢 SQL Server 例項SSMSQLServer
- 《MySQL 入門教程》第 18 篇 連線查詢MySql
- T-SQL——關於跨庫連線查詢SQL