SQL で EXISTS および NOT EXISTS を使用するための構文

王林
リリース: 2024-02-19 23:08:06
オリジナル
964 人が閲覧しました

sql中exists,not exists的用法

SQL での存在と存在しないの使用には、特定のコード例が必要です

SQL で、存在と存在しないは、一般的に使用される述語 (述語) のペアであり、使用されます。サブクエリが結果セットを返すかどうかを判断します。サブクエリが少なくとも 1 行の結果を返すかどうかを確認するには、exists を使用します。一方、サブクエリが結果を返さないかどうかを確認するには、notexistance を使用します。

exists の構文は次のとおりです。

SELECT column1, column2, ...
FROM table
WHERE EXISTS (subquery);
ログイン後にコピー

notexists の構文は次のとおりです。

SELECT column1, column2, ...
FROM table
WHERE NOT EXISTS (subquery);
ログイン後にコピー

以下では、いくつかの具体的な例を使用して、exists と の使用法を紹介します。存在しない。

例 1: 特定の条件でレコードを検索する

「employee_id」、「first_name」、「last_name」などの従業員情報を含む「employees」という名前のテーブルがあるとします。行。 「マネージャー」というポジションが存在するすべての従業員情報を検索したいと考えています。

SELECT employee_id, first_name, last_name
FROM employees
WHERE EXISTS (SELECT 1
              FROM employees
              WHERE job_title = 'manager'
                AND employees.employee_id = manager_id);
ログイン後にコピー

上記のコードのサブクエリは、「employees」テーブルから「manager」の位置を持つレコードを取得します。外側のメイン クエリは、exists 述語を使用して、サブクエリが少なくとも 1 行の結果を返すかどうかを判断します。

例 2: 特定の条件を持たないレコードの検索

ここで、「マネージャー」の地位を持たない従業員に関する情報を検索するとします。

SELECT employee_id, first_name, last_name
FROM employees
WHERE NOT EXISTS (SELECT 1
                  FROM employees
                  WHERE job_title = 'manager'
                    AND employees.employee_id = manager_id);
ログイン後にコピー

上記のコードのサブクエリは、「employees」テーブルから「manager」の位置を持つレコードも取得します。外側のメインクエリは、notexistent 述語を使用して、サブクエリが結果を返さないかどうかを判断します。

例 3: サブクエリの比較

述語として存在するものと存在しないものを使用するサブクエリは、他の条件を使用してフィルタリングすることもできます。

最も給与が高い従業員に関する情報を見つけたいとします。

SELECT employee_id, first_name, last_name
FROM employees e1
WHERE NOT EXISTS (SELECT 1
                  FROM employees e2
                  WHERE e2.salary > e1.salary);
ログイン後にコピー

上記のコードでは、サブクエリは現在の従業員よりも給与が高いレコードを取得し、notexistent 述語を使用して条件を満たすレコードがないかどうかを判断します。

概要:

exists と notexists は SQL で一般的に使用される述語で、サブクエリが結果セットを返すかどうかを確認するために使用されます。存在する場合は、少なくとも 1 行の結果が存在することを判断するために使用され、存在しない場合は、結果が存在しないことを判断するために使用されます。存在するものと存在しないものを使用することで、さまざまなビジネス ニーズを満たす、より柔軟なクエリ ステートメントを作成できます。

以上がSQL で EXISTS および NOT EXISTS を使用するための構文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!