MySQL で複数テーブルのクエリを実行するにはどうすればよいですか?

WBOY
リリース: 2023-07-30 17:03:32
オリジナル
1644 人が閲覧しました

MySQL で複数テーブルのクエリを実行するにはどうすればよいですか?

データベース クエリでは、複数テーブルのクエリが一般的な要件です。マルチテーブル クエリを通じて、複数のテーブルのデータを接続して関連付けることで、より正確で包括的なクエリ結果を得ることができます。 MySQL は、JOIN ステートメント、サブクエリ、ユニオン クエリの使用など、複数テーブル クエリを実行するさまざまな方法を提供します。この記事では、MySQL で複数テーブル クエリを実行する方法をコード例とともに紹介します。

  1. 複数テーブル クエリには INNER JOIN を使用する
    INNER JOIN は、最も一般的でよく使用される複数テーブル クエリ メソッドの 1 つであり、2 つ以上のテーブルの関連フィールドを接続します。レコードを返します。参加条件を満たしていること。以下は例です:
SELECT 
    Orders.OrderID,
    Customers.CustomerName,
    Orders.OrderDate
FROM
    Orders
INNER JOIN
    Customers ON Orders.CustomerID = Customers.CustomerID;
ログイン後にコピー

上記のクエリは、接続条件を満たす Orders テーブルと Customers テーブルからレコードを返します。クエリ結果には、OrderID、CustomerName、および OrderDate フィールドが含まれます。

  1. 複数テーブル クエリには LEFT JOIN を使用する
    LEFT JOIN は、もう 1 つの一般的な複数テーブル クエリ方法です。左側のテーブル (左側のテーブル) と右側のテーブル (右側のテーブル) のすべてのレコードを結合します。 ) 接続条件を満たすレコードを照合します。右側のテーブルに一致するレコードがない場合、左側のテーブルの対応するフィールドには NULL が表示されます。以下は例です:
SELECT 
    Customers.CustomerName,
    Orders.OrderID
FROM
    Customers
LEFT JOIN
    Orders ON Customers.CustomerID = Orders.CustomerID;
ログイン後にコピー

上記のクエリは、すべての Customers テーブル レコードを返し、接続条件を満たす Orders テーブル レコードを照合します。クエリ結果には、CustomerName フィールドと OrderID フィールドが含まれます。

  1. 複数テーブル クエリには RIGHT JOIN を使用します
    RIGHT JOIN は LEFT JOIN の逆です。右側のテーブル (右側のテーブル) のすべてのレコードと左側のテーブルのレコードを結合します (左表)の接続条件を満たすレコードが照合されます。左側のテーブルに一致するレコードがない場合、右側のテーブルの対応するフィールドには NULL が表示されます。以下は例です:
SELECT 
    Orders.OrderID,
    Customers.CustomerName
FROM
    Orders
RIGHT JOIN
    Customers ON Orders.CustomerID = Customers.CustomerID;
ログイン後にコピー

上記のクエリは、すべての Orders テーブル レコードを返し、接続条件を満たす Customers テーブル レコードと一致します。クエリ結果には、OrderID フィールドと CustomerName フィールドが含まれます。

  1. 複数テーブルのクエリには FULL OUTER JOIN を使用する
    FULL OUTER JOIN は、LEFT JOIN と RIGHT JOIN を組み合わせたクエリ メソッドであり、接続条件を満たすすべてのレコードを返します。条件のレコードは NULL として表示されます。ただし、MySQL は FULL OUTER JOIN を直接サポートしていませんが、UNION 演算子を使用すると同様の効果を実現できます。以下に例を示します。
SELECT 
    Customers.CustomerName,
    Orders.OrderID
FROM
    Customers
LEFT JOIN
    Orders ON Customers.CustomerID = Orders.CustomerID
UNION
SELECT 
    Customers.CustomerName,
    Orders.OrderID
FROM
    Customers
RIGHT JOIN
    Orders ON Customers.CustomerID = Orders.CustomerID
WHERE
    Customers.CustomerID IS NULL;
ログイン後にコピー

上記のクエリは、接続条件を満たすすべての Customers テーブル レコードと Orders テーブル レコードを返し、条件を満たさないレコードを NULL として表示します。

複数テーブル クエリは、データベース クエリにおける重要なスキルの 1 つです。接続演算子と条件を合理的に使用することで、実際のニーズに応じて複数のテーブルに対して関連するクエリを実行し、正確かつ包括的な結果を得ることができます。この記事が、MySQL で複数テーブルのクエリを実行する方法を理解するのに役立つことを願っています。

以上がMySQL で複数テーブルのクエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート