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

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%は返されません。


  1. SQLServerのINTERSECT演算子

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

  2. SQLServerの比較演算子

    この記事では、平衡状態をチェックするために使用される比較演算子と、SQLServerのより高度な演算子について説明します。読者は、SQLの演算子の記事を参照できます。 WHERE句で比較演算子を使用して、どのレコードを選択するかを決定します。これは、SQL Server(T-SQL)で使用できる比較演算子のリストです。 オペレーター 説明 =等しい=以上以上ではない!SQLServerとTransact-SQLには多くの比較演算子があります。一般的な演算子の使用方法は次のとおりです。 例-ピア演算子 SELECT * FROM nhanvien WHERE ten = Jane