SQLServerのUNIONALL演算子
UNION ALL演算子は、SQLServerの2つ以上のSELECTステートメントからの結果セットを組み合わせるために使用されます。
UNION演算子とは異なり、UNION ALL演算子はクエリからすべての行を返し、重複する行は削除しません。
UNION演算子の各SELECTは、対応するデータ型の結果セットに同じ数の列を持っている必要があります。
UNIONALL演算子の構文
SELECTbieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kien]
UNION ALL
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_k
ien];
変数名または変数値
bieu_thuc1、bieu_thuc2 、。 bieu_thucn
取得する列または計算値。
状態
テーブルがレコードを取得しようとしています。 FROM句に少なくとも1つのテーブルが必要です。
どこでdieu_kien
オプション。選択したレコードの条件が満たされている必要があります。
注:
- 2つのSELECTステートメントには同じ数の式が必要です
- 各SELECTステートメントの対応する列数は、同じデータ型である必要があります
- UNION演算子は重複する行を削除しません。
- 他のUNIONオペレーターを見る
たとえば、-情報フィールドを返します
SELECT sanpham_id
FROM sanpham
UNION ALL
SELECT sanpham_id
FROM
hangtonkho;
この例では、sanphamテーブルとhangtonkhoテーブルの両方に表示される場合、結果セットに多くのsanpham_idが返されます。重複を削除する場合は、UNION要素全体を使用してください。
例-ORDERBYを使用
UNION ALL演算子は、ORDERBY句を使用してクエリ結果を並べ替えることができます。
SELECT danhba_id, danhba_ten
FROM danhba
WHERE ten_trang = 'QuanTriMang.com'
UNION ALL
SELECT congty_id, congty_ten
FROM congty
WHERE ten_trang = 'TrangCuaBan.com'
ORDER BY 2;
この例では、2つのSELECTステートメントの列名が異なるため、結果セット内の位置でORDERBYステートメントの列を参照する方が簡単です。上記の例では、フレーズORDER BY 2で示されているように、結果をnamba_ten/congty_tenで昇順でフィルタリングします。
danhba_ten/congty_tenは結果セットの2番目の位置にあります。
-
SQLServerのINTERSECT演算子
SQL Server(Transact-SQL)では、INTERSECT演算子を使用して、データセットまたはSELECTステートメントの両方のレコードを返します。レコードが一方のクエリでのみ使用可能で、もう一方のクエリでは使用できない場合、そのレコードはINTERSECTの結果セットから削除されます。 INTERSECTクエリ INTERSECTクエリから返された結果を示します 説明: INTERSECTクエリは、青い塗りつぶし領域にあるレコードを返します。これらのレコードは、database1とdatabase2の両方にあります。 INTERSECTの各SELECTには、同じデータ
-
MSSQLServerでデータベースを選択する方法
MS SQL Serverでデータベースを選択して、以下のいずれかの方法で操作できます。 方法1:SQL ServerMangementStudioを使用する クエリを実行して、 msdb、という名前のデータベースのバックアップ履歴を選択します。 msdbを選択します 下の画像に示すように。 データベースバックアップセクションから選択 方法2:T-SQLスクリプトを使用する Use クエリを実行して、 msdb、という名前のデータベースのバックアップ履歴を選択します。 msdbを選択します 次のクエリを実行することで Exec use msdb このクエリはmsdbデータベ