SQL EXISTS演算子
SQL EXISTS演算子
EXISTS
演算子は、サブクエリ内の任意のレコードの存在をテストするために使用されます。
EXISTS
サブクエリが1つ以上のレコードを返す場合、演算子はTRUEを返します。
EXISTS構文
SELECT <em>column_name(s)</em>
FROM <em>table_name</em>
WHERE EXISTS
(SELECT <em>column_name </em>FROM <em>table_name</em> WHERE <em>condition</em>);
デモデータベース
以下は、Northwindサンプルデータベースの"Products"テーブルからの選択です。
製品番号 |
商品名 |
サプライヤーID |
カテゴリーID |
ユニット |
価格 |
---|---|---|---|---|---|
1 | chais | 1 | 1 | 10箱×20袋 | 18 |
2 | chang | 1 | 1 | 12オンスボトル-24本 | 19 |
3 | Aniseed Syrup | 1 | 2 | 12本 - 550mlボトル | 10 |
4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6オンスの瓶 | 22 |
5 | Chef Anton's Gumbo Mix | 2 | 2 | 36箱 | 21.35 |
そして、「サプライヤー」テーブルからの選択
サプライヤーID |
サプライヤ名 |
連絡先 |
住所 |
街 |
郵便番号 |
国 |
---|---|---|---|---|---|---|
1 | エキゾチック・リキッド | シャーロット・クーパー | 49 ギルバート ストリート | ロンドン | EC1 4SD | イギリス |
2 | ニューオーリンズのケイジャン料理 | シェリー・バーク | 私書箱 78934 | ニューオーリンズ | 70117 | アメリカ合衆国 |
3 | ケリーおばあちゃんのホームステッド | レジーナ・マーフィー | 707オックスフォードロード。 | アナーバー | 48104 | アメリカ合衆国 |
4 | 東京トレーダーズ | ヨシ ナガセ | 武蔵野市関舞9ー8 | 東京 | 100 | 日本 |
SQL EXISTSの例
次のSQLステートメントはTRUEを返し、製品価格が20未満のサプライヤを一覧表示します。
例
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price < 20);
次のSQLステートメントはTRUEを返し、製品価格が22のサプライヤを一覧表示します。
例
SELECT SupplierName
FROM Suppliers
WHERE EXISTS (SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price = 22);
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。