TECH I.S.

SQL HAVING句


SQL HAVING句

HAVING句がSQLに追加されました。WHEREキーワードは集約関数では使用できません。

HAVING構文

SELECT <em>column_name(s)</em> FROM <em>table_name</em> WHERE <em>condition</em> GROUP BY <em>column_name(s) </em>HAVING <em>condition </em>ORDER BY <em> column_name(s);</em>

デモデータベース

以下は、Northwindサンプルデータベースの"Customers"テーブルからの選択です。

顧客ID

顧客名

連絡先

住所

郵便番号

1

アルフレッド・フードボックス マリア・アンダース オベレ通り57 ベルリン 12209 ドイツ
2 アナ・トルヒーヨ サンドイッチとアイスクリーム アナ・トルヒーヨ コンスティトゥシオン通り2222番地 メキシコDF 05021 メキシコ
3 アントニオ・モレノ・タケリア アンソニー・モレノ マタデロス 2312 メキシコDF 05023 メキシコ
4

アラウンド・ザ・ホーン トーマス・ハーディ 120 ハノーバー スクエア ロンドン WA1 1DP イギリス
5 バーグルンドのスーパーマーケット クリスティーナ・ベルグルンド ベルグフスヴァーゲン 8 ルレオ S-958 22 スウェーデン

SQL HAVINGの例

次のSQLステートメントは、各国の顧客数を一覧表示します。顧客数が5を超える国のみを含める

SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country HAVING COUNT(CustomerID) > 5;

自分で試してみる(開発準備中)»

次のSQLステートメントは、各国の顧客数を上位から下位に並べ替えて一覧表示します (顧客が5人を超える国のみを含めます)。

SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country HAVING COUNT(CustomerID) > 5 ORDER BY COUNT(CustomerID) DESC;

自分で試してみる(開発準備中)»


デモデータベース

以下は、Northwindサンプルデータベースの"Orders"テーブルからの選択です。

オーダーID

顧客ID

従業員ID

注文日

荷送人ID

10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

そして、「従業員」テーブルからの選択

従業員ID

苗字

ファーストネーム

生年月日

写真

ノート

1 ダヴォリオ ナンシー 1968-12-08 EmpID1.pic 学歴には学士号が含まれます。
2 フラー アンドリュー 1952-02-19 EmpID2.pic アンドリューはBTSを受け取りました....。
3 レバリング ジャネット 1963-08-30 EmpID3.pic ジャネットは学士号を持っています....。

その他のHAVINGの例

次のSQLステートメントは、10件を超える注文を登録した従業員を一覧表示します。

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM (Orders INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID) GROUP BY LastName HAVING COUNT(Orders.OrderID) > 10;

自分で試してみる(開発準備中)»

次のSQLステートメントは、従業員「Davolio」または「Fuller」が25を超える注文を登録しているかどうかをリストします。

SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders INNER JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID WHERE LastName = 'Davolio' OR LastName = 'Fuller' GROUP BY LastName HAVING COUNT(Orders.OrderID) > 25;

自分で試してみる(開発準備中)»



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細