私はデータベースに不慣れで、次のようなステートメントを使用できるかどうか知りたいと思っていました。
SELECT * FROM Table Where Name = "abc" or "xyz" or "pqr";
これが機能しないことは承知しており、名前がこれらのいずれかである可能性があるテーブルでエントリを見つける必要があります。
ありがとうございました
私はデータベースに不慣れで、次のようなステートメントを使用できるかどうか知りたいと思っていました。
SELECT * FROM Table Where Name = "abc" or "xyz" or "pqr";
これが機能しないことは承知しており、名前がこれらのいずれかである可能性があるテーブルでエントリを見つける必要があります。
ありがとうございました
列名を再度使用する必要があるため、次のようにします。
SELECT * FROM Table
Where Name = "abc"
OR Name = "xyz"
OR Name = "pqr";
しかし、この場合は、IN
.
SELECT * FROM Table
Where Name IN ("abc","xyz","pqr");
リレーショナル データベース (SQL Server、Oracle、MySQL など) を指定していませんが、次のように毎回列名を指定する必要があります。
SELECT * FROM Table
Where Name = 'abc' or Name = 'xyz' or Name = 'pqr';
IN
ただし、ステートメントを使用して記述する方が効率的です。
SELECT * FROM Table
Where Name IN ('abc', 'xyz', 'pqr');
AND
andで使用する正しい構文OR
は次のとおりです。
SELECT *
FROM Table
Where Name = "abc"
or
Name = "xyz"
or
Name = "pqr"
すべての句の列名を修飾する必要があることに注意してください。
あなたが使用することができますが:
SELECT *
FROM Table
Where Name IN ("abc", "xyz", "pqr");
エラーが発生する理由は、OR演算子の両側が、ブール値(trueまたはfalse)に評価される式である必要があるためです。
これはあなたの声明の修正版です:
Select * From Table Where Name = 'abc' or name = 'xyz' or name = 'pqr'
IN句を使用して記述することもできます。
Select * from Table Where Name in ('abc', 'xyz', 'pqr')
SELECT * FROM Table Where Name IN ('abc','yz','pqr')
SELECT * FROM TABLE WHERE Field IN ('abc','xyz');
また
SELECT * FROM TABLE WHERE Field = 'abc' OR Field = 'xyz';