是否可以在子查詢中顯示結果中的某些內容。從結果中排除某些在子查詢中的結果mysql
示例: table1:有4個數字,1,2,3,4。 從表1因此選擇*呈現4結果
是更多鈔票,以使:
select * from table1 where not exists(select * from table1 where num = 3)
所以結果是1,2,4。基本上從結果中刪除子查詢結果中的東西。
我知道存在不工作,因爲它只給出真假,但任何其他手段?
謝謝大家。
是否可以在子查詢中顯示結果中的某些內容。從結果中排除某些在子查詢中的結果mysql
示例: table1:有4個數字,1,2,3,4。 從表1因此選擇*呈現4結果
是更多鈔票,以使:
select * from table1 where not exists(select * from table1 where num = 3)
所以結果是1,2,4。基本上從結果中刪除子查詢結果中的東西。
我知道存在不工作,因爲它只給出真假,但任何其他手段?
謝謝大家。
select * from table1 where num <> 3;
?
OR
select * from table1 where id NOT IN (select id from table2 where num = 3);
細說更多你想要什麼。
您可以使用NOT IN
,但子查詢必須只返回一列(同樣的事情與我認爲的存在一致)。類似這樣的:
SELECT * FROM table WHERE column1 NOT IN (SELECT column1 FROM table WHERE column2 = 3)
在這個例子中,select * from table1其中num <> 3'會做伎倆。 – Matt 2012-08-02 18:42:43
自己嘗試 – codingbiz 2012-08-02 18:43:29
@Matt,但答案是:這是可能的;) – arnoudhgz 2012-08-02 18:46:14