Rumah >pangkalan data >tutorial mysql >Apakah Maksud Sintaks '=*' dalam SQL Joins?
Memahami Maksud "=*" dalam SQL Joins
Apabila memeriksa kod Microsoft SQL Server, adalah mungkin untuk menemui gabungan yang tidak dikenali konvensyen: "=*." Sintaks ini, yang mempunyai akar sejarah sebelum SQL Server 2005, mempunyai makna khusus dan bukan ANSI JOIN.
Sintaks "=*" Join
The "=*" menyertai sintaks mengambil yang berikut borang:
WHERE table1.yr =* table2.yr -1
Definisi
Cambahan "=*" ialah cantuman luar yang menggunakan logik berikut:
Contoh
Pertimbangkan jadual berikut:
table1: | yr | data | | ----------- | -------- | | 2022 | x | | 2023 | y | table2: | yr | value | | ----------- | --------- | | 2021 | a | | 2022 | b |
Pertanyaan berikut menggunakan gabungan "=*" untuk menggabungkan jadual ini:
SELECT * FROM table1 WHERE table1.yr =* table2.yr -1;
Pertanyaan ini akan menghasilkan perkara berikut hasil:
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.
Atas ialah kandungan terperinci Apakah Maksud Sintaks '=*' dalam SQL Joins?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!