0

私はSQLが初めてで、何かを行う方法を学ぼうとしています。このクエリで私を助けてください!

私は2つのテーブルを持っています

Table1 には文のリストがあり、1 列 100 行あります

Table2 には単語のリストがあり、1 列と 5 行があります

「john」という単語が見つかった Table1 からすべての行を選択したいのですが、その行に Table2 の単語も存在する場合は選択しません。例外リストです

SQLでこれを行うにはどうすればよいですか?

括弧の組み合わせをいくつか試してみましたが、何をしているのかわかりません:

SELECT "desc" FROM table 
WHERE "desc"LIKE "%matchedword1%" 
OR "desc" LIKE "%someotherword%" 
AND (SELECT string FROM exceptions) NOT IN "desc";

ヘルプ!ありがとう!

4

3 に答える 3

3
SELECT "desc" FROM table 
WHERE ("desc" LIKE "%matchedword1%" OR "desc" LIKE "%someotherword%") 
AND "desc" NOT IN (SELECT string FROM exceptions);
于 2012-06-23T01:11:24.573 に答える
0

おそらく括弧を忘れました:

SELECT "desc" FROM table 
WHERE ("desc"LIKE "%matchedword1%" 
OR "desc" LIKE "%someotherword%")
AND "desc" NOT IN (SELECT string FROM exceptions);

「AND」は常に「OR」よりも優先度が高くなります。

于 2012-06-23T01:15:24.463 に答える
0

実際には、条件ステートメントを括弧で囲んでいないため、このクエリを次のように記述します。

SELECT "desc" FROM table WHERE("desc" LIKE "%matchedword" OR "desc" LIKE "%otherword") 
AND "desc" NOT IN (SELECT string from exception);
于 2012-06-23T01:52:24.973 に答える