SQLServerのSELECTコマンド
このチュートリアルは、SQL Server SELECTステートメント(T-SQL)を構文と例とともに使用するのに役立ちます。
SELECTは、SQLServerデータベース内の1つ以上のテーブルから結果を取得するために使用されるコマンドです。
構文SELECTステートメント
単純な形式では、SELECTステートメントの構文は次のとおりです。
SELECT 'biểu thức'
FROM 'bảng'
[WHERE 'điều kiện'];
完全な形式では、SQLServerのSELECTコマンドの構文は次のようになります。
SELECT [ALL | DISTINCT]
[TOP (gia_tri_dau) [PERCENT] [WITH TIES]]
'Expression'
FROM 'table'
[WHERE 'condition']
[GROUP BY 'expression']
[HAVING 'condition']
[ORDER BY 'expression' [ASC | DESC]];
変数名または変数値
すべて -オプション、一致するすべてのアイテムを返します。
DISTINCT -オプション。結果セットから重複する値をすべて削除します。
トップ (gia_tri_dau) -オプション。指定した場合、選択したgia_tri_dau
に基づいて結果セットの最初の値を返します 。たとえば、TOP(10)は、結果セットの最初の10行を返します。
パーセント -オプション。指定した場合、最初の行は結果セットのパーセンテージに基づいています(gia_tri_dau
で示されます)。 )。たとえば、TOP(10)PERCENTは、結果セットの最初の結果の上位10%を返します。
タイ付き -オプション。指定した場合、限定された結果の最後にある固定行が返されます。これにより、TOPで許可されているよりも多くの行が返される可能性があります。
表現 -取得する列または計算値。 *
を使用する すべての列を取得する場合。
テーブル -結果を取得するテーブル。 FROMコマンドには少なくとも1つのテーブルがリストされている必要があります。
WHERE'条件' -オプション。返される結果が満たされている必要があるという条件。
GROUPBY'式' -オプション。 1つ以上の列の複数のレコードと結果グループからデータを収集します。
HAVING'条件' -オプション。 GROUP BYと組み合わせて使用します 条件がTRUEとして満たされたときに返される行のグループを制限します。
ORDERBY'式' -オプション。結果セットをフィルタリングするために使用されます。 ASC 昇順でフィルタリングし、 DESC 降順でフィルタリングします。
たとえば、テーブル内のすべてのフィールドを選択します
SELECT *
FROM hangtonkho
WHERE soluong> 5
ORDER BY hangtonkho_id ASC;
この例では、*
hangtonkho
のすべてのhangtonkhoフィールドが5より大きいことを示すために使用されます テーブル。結果セットは、hangtonkho_idの昇順で並べ替えられます。
例-テーブル内のいくつかのフィールドを選択します
SELECT hangtonkho_id, hangtonkho_type, soluong
FROM hangtonkho
WHERE hangtonkho_id> = 555
AND hangtonkho_type = 'phanmem'
ORDER BY soluong DESC, hangtonkho_id ASC;
上記の例では、IDが大きい場合、返される結果には、hangtonkhoテーブルの在庫のID、タイプ、および数量(hangtonkho_id、hangtonkho_type、およびsoluong)のみが含まれます。 555以上の場合、インベントリのタイプは「ファンメム」です。結果は、番号の降順と在庫IDの増加で並べ替えられます。
例-複数のテーブルから選択
SELECT hangtonkhi.hangtonkho_id, sanpham.sanpham_ten, hangtonkho.soluong
FROM hangtonkho
INNER JOIN sanpham
ON hangtonkho.sanpham_id = sanpham.sanpham_id
ORDER BY hangtonkho_id;
この例では、結果セットが2つのテーブルから取得され、hangtonkho
のsanpham_idの場合、hangtonkho_id、sanpham_ten、soluongが生成されます。 テーブルとパネルは同じである必要があります。結果は、hangtonkho_idの昇順で並べられています。
例-キーワードTOPを使用
SELECT TOP (3)
hangtonkho_id, hangtonkho_type, soluong
FROM hangtonkho
WHERE hangtonkho_type = 'phanmem'
ORDER BY hangtonkho_id ASC;
この例では、結果は、在庫タイプが「phanmem」のhangtonkhoテーブルから最初の3つの値を返します。要件を満たす他の値がある場合、それらは返されません。
例-キーワードTOPPERCENTを使用
SELECT TOP (10) PERCENT
hangtonkho_id, hangtonkho_type, soluong
FROM hangtonkho
WHERE hangtonkho_type = 'phanmem'
ORDER BY hangtonkho_id ASC;
返される結果は、hangtonkhoテーブルの「phanmem」のインベントリの最初の値の10%で構成されます。残りの結果の90%は返されません。
-
SQLServerのINTERSECT演算子
SQL Server(Transact-SQL)では、INTERSECT演算子を使用して、データセットまたはSELECTステートメントの両方のレコードを返します。レコードが一方のクエリでのみ使用可能で、もう一方のクエリでは使用できない場合、そのレコードはINTERSECTの結果セットから削除されます。 INTERSECTクエリ INTERSECTクエリから返された結果を示します 説明: INTERSECTクエリは、青い塗りつぶし領域にあるレコードを返します。これらのレコードは、database1とdatabase2の両方にあります。 INTERSECTの各SELECTには、同じデータ
-
SQLServerの比較演算子
この記事では、平衡状態をチェックするために使用される比較演算子と、SQLServerのより高度な演算子について説明します。読者は、SQLの演算子の記事を参照できます。 WHERE句で比較演算子を使用して、どのレコードを選択するかを決定します。これは、SQL Server(T-SQL)で使用できる比較演算子のリストです。 オペレーター 説明 =等しい=以上以上ではない!SQLServerとTransact-SQLには多くの比較演算子があります。一般的な演算子の使用方法は次のとおりです。 例-ピア演算子 SELECT * FROM nhanvien WHERE ten = Jane