in子查詢與表連線是否等價?
Select emp.*
from emp
where emp.dept_no in (
select dept.dept_no
from dept
where dept.dept_group = 1
)
;
是否等價與:
select emp.*
from
emp,
dept
where
dept.dept_no = emp.dept_no
and dept.dept_group = 1
;
這個重寫可能存在問題,除非dept.dept_no是唯一的,或者(dept_no,dept_group)是唯一的。
否則,查詢的結果就可能返回emp表的記錄的多個copy。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-715417/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL之連線查詢和子查詢MySql
- 子查詢-表子查詢
- sql 連線查詢例項(left join)三表連線查詢SQL
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- 連線查詢
- 詳解表連線順序和連線方式是否影響查詢結果
- 檢查連線是否有效
- mysql求交集:UNION ALL合併查詢,inner join內連線查詢,IN/EXISTS子查詢MySql
- PostgreSQL優化案例之 反連線與外連線等價改寫SQL優化
- 1112跨表連線查詢
- SQL裡3個表的連線查詢SQL
- 【從零開始學習Oracle資料庫】(3)函式與子查詢和連線查詢Oracle資料庫函式
- 【從零開始學習 MySql 資料庫】(3) 函式與子查詢和連線查詢MySql資料庫函式
- /*+ MERGE_AJ */ 放到NOT IN 子查詢中反向連線
- SQL連線查詢SQL
- oracle 連線查詢Oracle
- 【Oracle】--連線查詢Oracle
- JPA 連表查詢
- 檢查網路是否連線
- mysql查詢語句5:連線查詢MySql
- select查詢之四:連線查詢
- 查詢資料庫表是否存在資料庫
- 離線查詢與線上查詢
- MySQL之連線查詢MySql
- PostgreSQL - 查詢表名、連線狀況、磁碟佔用SQL
- 資料庫三表連線查詢怎麼做資料庫
- 資料庫 - 連線查詢、巢狀查詢、集合查詢資料庫巢狀
- union的兩個子查詢是否並行並行
- sql語法相關子查詢與非相關子查詢SQL
- mysql三表連線查詢以及百分數排序MySql排序
- MySql的join(連線)查詢 (三表 left join 寫法)MySql
- oracle連線查詢詳解Oracle
- MySQL學習-連線查詢MySql
- Hibernate連線查詢join
- 【janes】多表查詢 外連線
- MySQL8:連線查詢MySql
- MySQL join連表查詢示例MySql
- 資料庫資料的查詢----連線查詢資料庫