SQLServerのUNION演算子
UNION演算子は、2つ以上のSELECTステートメントからの2つの結果セットを組み合わせるために使用されます。これらのSELECTステートメントの同じ行が削除されます。
UNION演算子の各SELECTは、対応するデータ型の結果セットに同じ数の列を持っている必要があります。
UNION演算子の構文
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kien]
UNION
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE
dieu_kien];
変数名または変数値
bieu_thuc1、bieu_thuc2 、。 bieu_thucn
取得する列または計算値。
状態
テーブルがレコードを取得しようとしています。 FROM句に少なくとも1つのテーブルが必要です。
どこでdieu_kien
オプション。選択したレコードの条件が満たされている必要があります。
注:
- 2つのSELECTステートメントには同じ数の式が必要です
- 各SELECTステートメントの対応する列数は、同じデータ型である必要があります
- UNION演算子は重複する行をクリアします。
-
UNIONALL演算子をもっと見る。
たとえば、-情報フィールドを返します
たとえば、UNION演算子は、複数のSELECTステートメントからフィールド(および同じデータ型のフィールド)を返します。
SELECT sanpham_id
FROM sanpham
UNION
SELECT sanpham_id
FROM hangtonkho;
上記の例では、sanpham_idがsanphamテーブルとhangtonkhoテーブルの両方に表示される場合、結果セットには1つのsanpham_idのみが表示されます。重複するレコードを削除したくない場合は、UNIONALL演算子を使用してください。
例-ORDERBYを使用
UNIONオペレーターは、ORDERBY句を使用してクエリ結果を並べ替えることができます。
SELECT danhba_id, danhba_ten
FROM danhba
WHERE ten_trang = 'QuanTriMang.com'
UNION
SELECT congty_id, congty_ten
FROM congty
WHERE ten_trang = 'TrangCuaBan.com'
ORDER B
Y 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データベ