Artikel ini membawakan anda pengetahuan yang berkaitan tentang SQL server Ia terutamanya memperkenalkan kaedah SQL Server menggunakan CROSS APPLY dan OUTER APPLY untuk melaksanakan pertanyaan sambungan lihatlah bersama, semoga bermanfaat untuk semua.
Kajian yang disyorkan: "Tutorial SQL"
CROSS APPLY dan OUTER APPLY boleh lakukan:
Apabila satu rekod dalam jadual kiri dikaitkan dengan berbilang rekod dalam jadual kanan, saya perlu mengawal sama ada satu atau lebih rekod dalam jadual kanan sepadan dengan jadual kiri.
Terdapat dua jadual: Pelajar (jadual pelajar) dan Skor (jadual skor adalah seperti berikut:
SELECT T1.StudentNo, T1.Name, T2.ExamScore, T2.ExamDate FROM Student AS T1 CROSS APPLY ( SELECT TOP 2 * FROM Score AS T WHERE T1.StudentNo = T.StudentNo ORDER BY T.ExamDate DESC ) AS T2
Keputusan:
SELECT T1.StudentNo, T1.Name, T2.ExamScore, T2.ExamDate FROM Student AS T1 OUTER APPLY ( SELECT TOP 2 * FROM Score AS T WHERE T1.StudentNo = T.StudentNo ORDER BY T.ExamDate DESC ) AS T2
3. Senario aplikasi
1 Digunakan dalam kombinasi dengan fungsi bernilai jadual: Terdapat jadual seperti ini:Ia adalah jadual yang sangat mudah dengan hanya satu bidang. penukaran asas.
SELECT * FROM #T a CROSS APPLY [dbo].[F_TConversion](a.num)
2. Penggunaan subquery teratas:
Terdapat jadual pelajar dengan tiga medan: nama, subjek dan skor, seperti berikut:
I Untuk melihat nama, subjek dan markah tempat pertama dalam bahasa Cina, dua teratas dalam matematik dan tiga teratas dalam bahasa Inggeris, kaedah pelaksanaan menggunakan silang adalah seperti berikut:SELECT b.* FROM ( select Subject='Chiness',num=1 union all select 'Math',2 union all select 'English',3) a cross apply (select top(a.num) * from Students where Subject=a.Subject ) b
Tutorial SQL"
Atas ialah kandungan terperinci SQL Server menggunakan CROSS APPLY dan OUTER APPLY untuk melaksanakan pertanyaan sambungan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!