我的表叫posts
,我想retrieve
所有滿足在select statement
以下條件records
,並返回一個single table
-替代/替代工會與單個連接Select語句
select ID from posts where UserID= 23487 and postlevel <> 1
select ID from posts where ParentID in (select ID from posts where UserID= 23487 and postlevel <> 1)
現在,使用操作者UNION
象下面我可以返回單個表 -
select ID from posts where UserID= 23487 and postlevel <> 1
UNION
select ID from posts where ParentID in (select ID from posts where UserID= 23487 and postlevel <> 1)
輸出
嘗試以下JOIN
查詢,但並沒有得到預期的結果,並返回NULL
-
select ID from posts cs
LEFT JOIN posts cs1 ON cs.ID = cs1.ID
where cs.UserID = 23487 and cs.PostLevel <>1 and cs.ParentID = cs1.ID
預計
我想獲取使用JOIN
或使用單記錄SELECT
而不是UNION
以獲得如上所示的所需輸出。
'Union'和'Join'是兩個不同的東西..爲什麼要用'Join'來做到這一點?如果你想尋求優化 –