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

SQLServerのSELECTTOPコマンド

SQL Serverでは、SELECT TOPコマンドを使用して、SQL Serverの1つ以上のテーブルからレコードを取得し、固定値またはパーセンテージに基づいて戻りレコードの数を制限します。

構文SELECTTOPコマンド

  SELECT TOP (giatri_dau) [PERCENT] [WIT H TIES] 
bieu_thuc
FROM bang
[WHERE dieu_kien]
[ORDER BY bieu_thuc [ ASC | DESC ]];

変数名または変数値

TOP(giatri_dau)

giatri_dauに基づいて結果を返します。たとえば、TOP(10)は、結果セットの最初の10行を挿入します。

パーセント

オプション。指定した場合、最初の行は結果セットのgiatri_dauのパーセンテージに基づいています。たとえば、TOP(10)PERCENTは、結果セットの最初の値の10%を挿入します。

タイ付き

オプション。この句を使用すると、結果セットの最後の行と同じ値の行が返されます。これにより、返される行数がTOPで許可される数を超える場合があります。

bieu_thuc

列または計算値を取得する必要があります

状態

テーブルはそこからレコードを取得したいと考えています。 FROM句に少なくとも1つのテーブルが必要です。

どこでdieu_kien

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

ORDER BY bieu_thuc

オプション。結果を注文するために使用します。昇順のASC、降順のDESC。

たとえば、キーワードTOPを使用します

  SELECT TO P(5) 
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nh anvien_id;

上記の例では、名前がAndersonの場合、テーブルの最初の5つのレコードを取得します。他のレコードにもアンダーソンの名前が付いている場合、それらはSELECTステートメントで返されません。

上記の例は、WITHTIES句を追加することで少し編集できます

  SELECT TOP (5 ) WITH TIES 
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nhanv ien_id;

この例では、結果セットの最後の行と同じ行が返されます。

たとえば、キーワードTOPPERCENTを使用します

  SELEC T TOP(10) PERCENT 
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER B Y nhanvien_id;

この例では、名前がAndersonである従業員のうち、employeeテーブルに記録された最初の10%の結果セットが返されます。残りの90%は返却されません。

  SELECT TO P(10) PERCENT WITH TIES 
nhanvien_id, ho, ten
FROM nhanvien
WHERE ho = 'Anderson'
ORDER BY nha dentist_id;

WITH TIESを使用すると、返される結果は結果セットの最後の行と同じ行になります。結果セットは10%以上になります。


  1. SQLServerのROUND関数

    この記事では、SQL Server ROUND()関数を構文と例とともに使用して、関数をより適切に視覚化およびキャプチャする方法について詳しく説明します。 説明 ROUND関数 SQL Serverでは、数値を特定の小数点以下の桁数に丸めるために使用されます。 構文 SQL ServerでROUND関数を使用するには、次の構文を使用します。 ROUND(number, decimal, operation) パラメータ : 番号: ラウンドに渡された番号 10進数: 小数点以下の桁数は四捨五入されます。この値は、正または負の整数である必要があります。このパラメーターを省略すると、R

  2. SQLServerのINTERSECT演算子

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