SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQLServerのUNION演算子

UNION演算子は、2つ以上のSELECTステートメントからの2つの結果セットを組み合わせるために使用されます。これらのSELECTステートメントの同じ行が削除されます。

UNION演算子の各SELECTは、対応するデータ型の結果セットに同じ数の列を持っている必要があります。

UNION演算子の構文

  SE LECT 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

オプション。選択したレコードの条件が満たされている必要があります。

注:

  1. 2つのSELECTステートメントには同じ数の式が必要です
  2. 各SELECTステートメントの対応する列数は、同じデータ型である必要があります
  3. UNION演算子は重複する行をクリアします。

  4. UNIONALL演算子をもっと見る。

たとえば、-情報フィールドを返します

たとえば、UNION演算子は、複数のSELECTステートメントからフィールド(および同じデータ型のフィールド)を返します。

  SELECT san pham_id 
FROM sanpham
UNION
SELECT sanpham_id
FROM hangtonkho;

上記の例では、sanpham_idがsanphamテーブルとhangtonkhoテーブルの両方に表示される場合、結果セットには1つのsanpham_idのみが表示されます。重複するレコードを削除したくない場合は、UNIONALL演算子を使用してください。

例-ORDERBYを使用

UNIONオペレーターは、ORDERBY句を使用してクエリ結果を並べ替えることができます。

  SELE CT 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番目の位置にあります。


  1. SQLServerのINTERSECT演算子

    SQL Server(Transact-SQL)では、INTERSECT演算子を使用して、データセットまたはSELECTステートメントの両方のレコードを返します。レコードが一方のクエリでのみ使用可能で、もう一方のクエリでは使用できない場合、そのレコードはINTERSECTの結果セットから削除されます。 INTERSECTクエリ INTERSECTクエリから返された結果を示します 説明: INTERSECTクエリは、青い塗りつぶし領域にあるレコードを返します。これらのレコードは、database1とdatabase2の両方にあります。 INTERSECTの各SELECTには、同じデータ

  2. MSSQLServerでデータベースを選択する方法

    MS SQL Serverでデータベースを選択して、以下のいずれかの方法で操作できます。 方法1:SQL ServerMangementStudioを使用する クエリを実行して、 msdb、という名前のデータベースのバックアップ履歴を選択します。 msdbを選択します 下の画像に示すように。 データベースバックアップセクションから選択 方法2:T-SQLスクリプトを使用する Use クエリを実行して、 msdb、という名前のデータベースのバックアップ履歴を選択します。 msdbを選択します 次のクエリを実行することで Exec use msdb このクエリはmsdbデータベ