SQLServerのEXCEPT演算子
SQL ServerのEXCEPT演算子は、2番目のSELECTステートメントでは返されない最初のSELECTステートメントの行を返すために使用されます。各SELECTステートメントにはデータセットがあります。 EXCEPT演算子は、最初のセットからレコードを取得し、セット2から結果を削除します。
クエリを除く
クエリの図を除く
説明: EXCEPTクエリは、データセット1のみで、データセット2ではなく、青い領域のレコードを返します。
EXCEPTクエリの各SELECTステートメントには、同じデータ型の結果セットに同じ数のフィールドが含まれている必要があります。
演算子構文を除く
SELECT bieu_thuc1thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kien]
EXCEPT
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kie
n];
変数名または変数値
bieu_thuc
SELECTステートメント間で比較する列または値。各SELECTステートメントで同じ情報フィールドにある必要はありませんが、対応する列には同じデータが含まれている必要があります。
状態
テーブルはそこからレコードを取得したいと考えています。 FROM句に少なくとも1つのテーブルが必要です。
どこでdieu_kien
オプション。選択したレコードの条件が満たされている必要があります。
注:
- 2つのSELECTステートメントには同じ数の式が必要です。
- 各SELECTステートメントの対応する列は、同じデータ型である必要があります。
- EXCEPT演算子は、2番目のSELECTステートメントではなく、最初のSELECTステートメントからすべてのレコードを返します。
- SQL ServerのEXCEPT演算子は、OracleのMINUS演算子と同等です。
たとえば、-1つの式を使用
SELECTsanpham_id
FROM sanpham
EXCEPT
SELECT sanpham_id
FROM hang
tonkho;
このEXCEPT演算子を使用した例では、結果は、hangtonkhoテーブルではなく、変数のテーブルにあるすべてのsanpham_id値を返します。これは、sanpham_id値が両方のテーブルで使用可能な場合、返されないことを意味します。
たとえば、複数の式を使用
SELECT danhba_id, ho, ten
FROM danhba
WHERE ho = 'Anderson'
EXCEPT
SELECT nhanvien_id, ho, ten
FROM nhanvien
;
この例では、クエリは連絡先IDを持つnambaテーブルのレコードを返します。名前と名前が、従業員のID、名前、および名前と一致しません。テーブル。
たとえば、ORDERBY句を使用します
SELECT nhacung_id, nhacung_ten
FROM nhacung
WHERE bang = 'Florida'
EXCEPT
SELECT congty_id, congty_ten
FROM congty
WHERE congty_id <= 400
ORDER BY 2;
この例では、2つのSELECTステートメントの列名が異なるため、結果セット内の位置を介してORDERBY句で列を参照する方が簡単です。上記の例では、結果nhacung_ten / congty_tenを、フレーズORDERBY2を介して昇順でフィルタリングします。
nhacung_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データベ