0

サブクエリの結果に何かを表示しないことは可能ですか。

例: table1: 1、2、3、4 の 4 つの数字があります。select * from table1 は 4 つの結果を示します

作ることは可能ですか:

    select * from table1 where not exists(select * from table1 where num = 3)

したがって、結果は 1,2,4 になります。基本的に、サブクエリの結果にあるものを結果から削除します。

true false のみを提供するため、存在することは機能しませんが、他の手段はありますか?

みんなに感謝します。

4

2 に答える 2

0

select * from table1 where num <> 3;?

また

select * from table1 where id NOT IN (select id from table2 where num = 3);

あなたが望むものをもっと詳しく説明してください。

于 2012-08-02T18:44:01.357 に答える
0

を使用できますNOT INが、サブクエリは 1 つの列のみを返さなければなりません (exists でも同じことが言えます)。このようなもの :

SELECT * FROM table WHERE column1 NOT IN (SELECT column1 FROM table WHERE column2 = 3)
于 2012-08-02T18:44:23.407 に答える