如何在SQL Server中根據行號執行內連線?
Dec 20, 2024 am 11:38 AM如何在SQL Server 中對行號執行內連線
在SQL Server 程式設計領域,如何執行的問題經常出現行號上的內連接。本文探討了該主題並提供了解決方案來幫助您實現所需的結果。
為了說明這個挑戰,請考慮兩個表A 和B,每個表都包含從上到下排序的值列表:
- 表A:RowA、RowB 、RowC、RowD
- 表B:Row4、Row3、Row2、 Row1
目標是對兩個表執行內部聯接,根據行號匹配行。預設情況下,SQL Server 不會提供按行號連線表的本機方法。但是,使用 ROW_NUMBER() 函數,我們可以建立一個虛擬列,為每個表中的每一行分配唯一的行號。
要在SQL Server 2008 中對行號執行內部聯接,您可以使用下列步驟:
-- 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
登入後複製
此查詢將傳回下列輸出:
- RowA Row1
- RowB Row2
- RowC Row3
- RowD Row4
透過符合行號,我們已經成功內連接了兩個表。
或者,如果您沒有特定的order-by 要求,您可以實現無需明確對錶進行排序即可獲得相同的結果:
-- 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
登入後複製
此查詢將按行出現的順序回傳行:
- RowA Row4
- RowB Row3
- RowC Row2
- RowD第 1 行
以上是如何在SQL Server中根據行號執行內連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)
