ホームページ >データベース >mysql チュートリアル >SQL JOIN: WHERE と ON: 結合されたデータのフィルタリングにおける主な違いは何ですか?

SQL JOIN: WHERE と ON: 結合されたデータのフィルタリングにおける主な違いは何ですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-01-23 02:49:11720ブラウズ

SQL JOIN: WHERE vs. ON: What's the Key Difference in Filtering Joined Data?

SQL JOIN: WHERE 句と ON 句について

SQL JOIN をマスターするには、WHERE 句と ON 句を明確に理解する必要があります。 互換性がある場合もありますが、機能は大きく異なります。

WHERE 句: 結合後のフィルタリング

WHERE 句は、結合の 結果 をフィルタリングします。 次の例を考えてみましょう:

<code class="language-sql">SELECT *
FROM Orders
LEFT JOIN OrderLines ON OrderLines.OrderID = Orders.ID
WHERE Orders.ID = 12345;</code>

ここで、WHERE 句は出力をフィルタリングし、Orders.ID が 12345 である行のみを表示します。これは、LEFT JOIN からのデータを結合したOrdersOrderLinesに適用されます。

ON 句: 結合条件定義

ON 句は、結合条件 自体を定義します。 観察してください:

<code class="language-sql">SELECT *
FROM Orders
LEFT JOIN OrderLines ON OrderLines.OrderID = Orders.ID AND Orders.ID = 12345;</code>

ON 句は、OrderLines.OrderIDOrders.ID と一致し、Orders.ID が 12345 に等しい行のみが結合に含まれることを指定します。 このフィルタリングは、結合プロセス中に行われます。

主要な意味上の区別

WHEREONINNER JOIN と同様の結果をもたらす可能性がありますが、それらの意味論的な役割は異なります。 WHERE は最終的に結合されたデータセットをフィルター処理し、ON は結合操作にどの行が含まれるかを決定します。

以上がSQL JOIN: WHERE と ON: 結合されたデータのフィルタリングにおける主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。