Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Melakukan Gabungan Dalaman Berdasarkan Nombor Baris dalam SQL Server?
Cara Melakukan Inner Join pada Nombor Baris dalam SQL Server
Dalam bidang pengaturcaraan SQL Server, persoalan bagaimana untuk melaksanakan cantuman dalaman pada nombor baris sering timbul. Artikel ini meneroka topik dan menyediakan penyelesaian untuk membantu anda mencapai hasil yang diingini.
Untuk menggambarkan cabaran, pertimbangkan dua jadual, A dan B, setiap satu mengandungi senarai nilai yang disusun dari atas ke bawah:
Objektifnya adalah untuk melakukan cantuman dalam pada dua jadual, memadankan baris berdasarkan nombor barisnya. Secara lalai, SQL Server tidak menyediakan cara asli untuk menyertai jadual pada nombor baris. Walau bagaimanapun, menggunakan fungsi ROW_NUMBER(), kita boleh mencipta lajur maya yang memberikan nombor baris unik kepada setiap baris dalam setiap jadual.
Untuk melakukan sambung dalaman pada nombor baris dalam SQL Server 2008, anda boleh menggunakan langkah berikut:
-- Create a virtual column with row numbers for Table A SELECT val, ROW_NUMBER() OVER (ORDER BY val) AS row_num FROM A -- Create a virtual column with row numbers for Table B SELECT val, ROW_NUMBER() OVER (ORDER BY val) AS row_num FROM B -- Join the two tables on the row number virtual columns SELECT A.val, B.val FROM ( SELECT val, row_num FROM A ) AS A INNER JOIN ( SELECT val, row_num FROM B ) AS B ON A.row_num = B.row_num ORDER BY A.val, B.val
Pertanyaan ini akan mengembalikan output berikut:
Dengan memadankan nombor baris, kami telah berjaya menyertai kedua-dua jadual.
Sebagai alternatif, jika anda tidak mempunyai pesanan mengikut tertentu keperluan, anda boleh mencapai hasil yang sama tanpa memesan jadual secara eksplisit:
-- Create a virtual column with row numbers for Table A SELECT val, ROW_NUMBER() OVER () AS row_num FROM A -- Create a virtual column with row numbers for Table B SELECT val, ROW_NUMBER() OVER () AS row_num FROM B -- Join the two tables on the row number virtual columns SELECT A.val, B.val FROM ( SELECT val, row_num FROM A ) AS A INNER JOIN ( SELECT val, row_num FROM B ) AS B ON A.row_num = B.row_num ORDER BY A.row_num
Pertanyaan ini akan mengembalikan baris dalam susunan ia keluar:
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Gabungan Dalaman Berdasarkan Nombor Baris dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!