データベース - 高度なデータベースクエリ

目標

一般マスタデータ照会機能拡張
マスター問合せ、交差点、差分演算
マスタは、サブクエリの使用は、
他のクエリの数が理解されます

一般的なデータクエリ機能拡張

[DISTINCT] SELECT [TOP N] SELECT_LIST クエリ指定カラム
[NEW_TABLE INTO]クエリ結果を新しいテーブルに割り当てられている
照会テーブル[table_source FROM]
[WHERE SEARCH_CONDITION]が復帰条件行を後退指定
[GROUP BY group_by_expression]指定クエリパケットの結果条件
[HAVING SEARCH_CONDITION】検索条件指定の基または重合官能基
[ORDER order_expression [ASC BY | DESC ]] 指定された結果セットの並べ替え
行の[COMPUTE式】エンド結果セット生成ソリューション結果

TOP使用して結果セット限定
TOP N [パーセント] [WITH TIES]
第1の上部をnのn行
n行%前TOP N [パーセント]
[タイで】:パラレルに結果値の最後の行を含みます

CASE機能を使用し
たデータポイントの異なるタイプが表示された場所
CASEブランチは多機能式である
:2種類の
シンプルなCASE機能
検索機能CASE

構文:
CASE
ブール式1次に、得られた発現1。
WHENブール式2次に、得られた式2
...
式N次いでN-得られたブール式
[結果式ELSE 1 + N - 。]
END

新しいテーブルへのクエリ結果の保存
<新しいテーブル名> INTO SELECTクエリ配列リスト
のデータソース...(他のラインは、フィルタリング、文をグループ化する)FROM
注:テーブル名が#ローカルの一時テーブル##グローバル・テンポラリ・テーブルは、によって先行
永久テーブルの名前だけのテーブル

クエリ結果の配信、及び動作不良

そして操作:UNION
の結果セットに複数のクエリの結果

構文:
SELECTステートメントの1
UNION [ALL]
SELECT文の2
UNION [ALL]
...

注使用UNIONこと
マージ問合せには、SELECT列は同じである必要があり、同じ意味
暗黙のデータ・タイプの互換性のそれぞれに対応する、CHAR(20)とvarchar(40)
SELECT文の結果は、結合列見出しの使用
要求を最後のダウンロードは、GRUOP BY SELECTステートメントをソートし、最初のSELECTにカラム名の最初の文を発注した後

クロスの計算
交差点操作を:のも、セットの同時発生で返されたレコード
の構文を:
。SELECTステートメントを1
INTERSECT
SELECT文の2
INTERSECT ...
SELECTステートメントのn

差分算出
差計算は:最初のセットを返し、第2のセットはのレコードがありません
。構文
SELECTステートメントを1。
EXCEPT
SELECT文の2
EXCEPT ...
SELECT文のnを

相関サブクエリ

サブクエリは、SELECT文が内部クエリ(またはサブクエリ)と呼ばれる外側、内側のSELECT文を横断する外部クエリステートメント内の別のSELECT文に含まれている
、常に括弧内に書かれたサブクエリ

サブクエリSELECT文は、フォーマットに主に以下が含まれます。
(1)式を[NOT] IN副問合せ
|(2)の式comparison_operator [ANY ALL]
(3)WHERE [NOT] EXISTS(サブクエリ)
ここに画像を挿入説明
ここに画像を挿入説明
ここに画像を挿入説明

サブクエリの他の形態

代替的な1式サブクエリ
のみ埋め込ま選択サブクエリ選択リストのスカラー値を返す
ここに画像を挿入説明
派生テーブルを:
とも呼ばれるインラインビューサブクエリはテーブルとして扱われ、新しいテーブルが生成される新生が誘導されますテーブル
の例:G001とG002は、少なくとも二つのコモディティ顧客番号と顧客名を購入したクエリ
ここに画像を挿入説明
ここに画像を挿入説明

機能を窓掛け
SQL Serverでは、行の集合は、ウィンドウと呼ばれています。
ウインドウ関数は重合によって行われるので、集約関数のように、ウィンドウ関数は、行セット重合計算に設定されているが、それは、それぞれ通常の集約関数が返すだけ一つの値が、ウィンドウ関数はグループごとに複数の値を返すことができることを望んでいませんラインウィンドウのセット・グループが計算されます

違いは、集約関数は、ウィンドウ関数は、OVERキーワードを追加することです
:私の家の窓のフォーマットは呼び出す
関数名(列)OVER(オプション)
を超える:指示ではなく、集約関数の関数として窓関数
SQL標準が可能にすべての窓関数を実行する集計関数は、キーワードの利用OVERを使用して2つのクラスを区別するために、使用しました
ここに画像を挿入説明
ここに画像を挿入説明

ここに画像を挿入説明
ここに画像を挿入説明
他のランキング関数
DENSE_RANK()
ランクは連続関数である
(NTILE)
1から番号指定書誌基を仕切る仕切り線に順序付けされ、この関数は、行の数は、グループに属する戻り
)(ROW_NUMBERを
各パーティションの結果セットを返します各パーティションの最初の行から開始し、シリアル番号、

公共の表現
の共通表現:一時的な名前を指定するには、クエリ結果セットは、結果セットの名前は、共通テーブル式であります
ここに画像を挿入説明
ここに画像を挿入説明

公開された12元の記事 ウォンの賞賛0 ビュー255

おすすめ

転載: blog.csdn.net/inventertom/article/details/104795597