1

現在、複数の ID を持つ複数の異なるレコードを照会するコードを作成しています。私が試してみました:

SELECT * FROM Items WHERE ID = ( 1, 2 )

SELECT * FROM Items WHERE ID = 1, 2

SELECT * FROM Items WHERE ID = '1, 2'

私は何を間違っていますか?

4

7 に答える 7

2

使用する

select * from items where id in (1,2);
于 2013-03-28T07:03:23.733 に答える
2

これを使って

SELECT * FROM Items WHERE ID = 1 or ID = 2;

または短縮表記を使用する

SELECT * FROM Items WHERE ID IN (1,2);
于 2013-03-28T05:34:50.933 に答える
2

IN複数の値を比較する場合に使用します。

SELECT * FROM Items WHERE ID IN (1, 2)

これは同じです

SELECT * FROM Items WHERE ID = 1 OR ID = 2

このステートメントの場合: "... 複数の ID を持つ複数の異なるレコードを照会する"の場合、複数の ID を持つグループを検索したいと思います。その場合、問題は と呼ばれRelational Divisionます。

SELECT groupColumn
FROM   Items 
WHERE  ID IN (1, 2)
GROUP  BY groupColumn
HAVING COUNT(*) = 2
于 2013-03-28T05:35:22.630 に答える
2

入力する必要があるのは

SELECT * FROM Items WHERE ID IN (1,2)

IN ブラケット内の文字列値には、一重引用符 ('1','2') を使用することに注意してください。

于 2013-03-28T05:35:31.973 に答える
2

IN次のように使用します

SELECT * FROM Items WHERE ID IN (1, 2);
于 2013-03-28T05:36:25.460 に答える
2

構文:

SELECT * FROM TABLE WHERE ID IN (id1, id2, ..., idn)

ここにあなたの場合:

SELECT * FROM Items WHERE ID IN (1, 2);
于 2013-03-28T05:37:32.183 に答える
2

それも同様に機能します。情報を探しているのは、ほとんどの SQL 言語の「IN」演算子です ( MySQL の例はこちら)。

あなたがやっていることは、一連の値をセットとして提供し (IN 演算子の右側)、データベースに対して、クエリ対象の列 (IN 演算子の左側) を持つレコードを返すように要求することです。セット内の値の。

于 2013-03-28T06:04:35.323 に答える