-2

私はデータベースに不慣れで、次のようなステートメントを使用できるかどうか知りたいと思っていました。

SELECT * FROM Table Where Name = "abc" or "xyz" or "pqr"; 

これが機能しないことは承知しており、名前がこれらのいずれかである可能性があるテーブルでエントリを見つける必要があります。

ありがとうございました

4

6 に答える 6

2

列名を再度使用する必要があるため、次のようにします。

SELECT * FROM Table 
Where Name = "abc" 
OR Name = "xyz" 
OR Name = "pqr";

しかし、この場合は、IN.

SELECT * FROM Table 
Where Name IN ("abc","xyz","pqr");
于 2013-01-21T16:16:37.127 に答える
2

リレーショナル データベース (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'); 
于 2013-01-21T16:16:53.260 に答える
1

ANDandで使用する正しい構文ORは次のとおりです。

SELECT * 
FROM Table 
Where Name = "abc" 
  or 
      Name = "xyz" 
  or 
      Name = "pqr"

すべての句の列名を修飾する必要があることに注意してください。

あなたが使用することができますが:

SELECT * 
FROM Table 
Where Name IN ("abc", "xyz", "pqr");
于 2013-01-21T16:17:35.940 に答える
0

エラーが発生する理由は、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')
于 2013-01-21T16:24:56.860 に答える
0
SELECT * FROM Table Where Name IN ('abc','yz','pqr')
于 2013-01-21T16:16:12.730 に答える
0
SELECT * FROM TABLE WHERE Field IN ('abc','xyz');

また

SELECT * FROM TABLE WHERE Field = 'abc' OR Field = 'xyz';
于 2013-01-21T16:16:27.623 に答える