首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL UNION 與 UNION ALL 用法詳解:合併查詢結果與排序技巧

     編輯:關於SqlServer

UNION 合併結果並去除重複列;UNION ALL 保留所有列(含重複),效能較佳。

基本語法

-- 去重合併
SELECT * FROM A UNION SELECT * FROM B;

-- 保留重複
SELECT * FROM A UNION ALL SELECT * FROM B;

合併後排序

需包裹子查詢再 ORDER BY:

SELECT * FROM (SELECT * FROM A UNION ALL SELECT * FROM B) AS T ORDER BY 欄位名;

分頁取各類別最新 N 筆(SQL Server / MySQL 寫法對照)

-- SQL Server (TOP)
SELECT * FROM (SELECT TOP 2 id,adddate,title,url FROM bArticle WHERE ClassId=1 ORDER BY adddate DESC) A
UNION ALL
SELECT * FROM (SELECT TOP 2 id,adddate,title,url FROM bArticle WHERE ClassId=2 ORDER BY adddate DESC) B
UNION ALL ...;

-- MySQL (LIMIT)
SELECT * FROM (SELECT id,adddate,title,url FROM bArticle WHERE ClassId=1 ORDER BY adddate DESC LIMIT 0,2) A
UNION ALL ...;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved