ホームページ >データベース >mysql チュートリアル >SQL 結合における「=*」構文は何を意味しますか?

SQL 結合における「=*」構文は何を意味しますか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-04 19:58:41466ブラウズ

What Does the

SQL 結合の「=*」の意味を理解する

Microsoft SQL Server コードを調べると、見慣れない結合に遭遇する可能性があります。規則: 「=*」。この構文は SQL Server 2005 より前の歴史的なルーツを持ち、特定の意味を持ち、ANSI JOIN ではありません。

「=*」結合の構文

「=*」結合構文は次のようになります。形式:

WHERE table1.yr =* table2.yr -1

定義

「=*」結合は、次のロジックを使用する外部結合です。

  • If左側のテーブル (この例では table1) には、右側のテーブル (table2) の値と一致する行が含まれており、行は次のようになります。
  • 左側のテーブル (table1) に右側のテーブル (table2) に一致する値がない場合、右側のテーブルの列に null 値が追加されます。
  • 右側のテーブルの場合(table2) には左側のテーブル (table1) に一致する値がないため、左側の列に NULL 値が追加されますtable.

次のテーブルについて考えてみましょう:

table1:
| yr | data |
| ----------- | -------- |
| 2022 | x |
| 2023 | y |

table2:
| yr | value |
| ----------- | --------- |
| 2021 | a |
| 2022 | b |

次のクエリでは、結合に「=*」を使用しています。これらのテーブル:

SELECT *
FROM table1
WHERE table1.yr =* table2.yr -1;

このクエリは次のように生成します。結果:

yr data value
2022 x b
2023 y NULL
**Note:** The "-1" in the query subtracts one year from the "yr" column of table2, resulting in a match for "2022" from table1.

**Historical Significance and ANSI Joins**

The "=*" join syntax was prevalent in older versions of TSQL. However, since SQL Server 2005, ANSI JOIN syntax is preferred. The ANSI JOIN syntax uses keywords such as "INNER JOIN", "LEFT JOIN", and "RIGHT JOIN" to specify the type of join.

以上がSQL 結合における「=*」構文は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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