この章では、SQLクエリを使ってのデータベースへ問い合わせをする方法を取り上げています。

1.  基本クエリ

全ての従業員に関するデータを得たいと仮定しましょう。 全ての属性に関するデータを取得したいです。

SELECT *
FROM Employee

以下の表が取得出来ます。

{{h}}
{{r}}

2. クエリと基本フィルタ

子供が少なくとも1人以上いる全ての従業員の名前、苗字、子供の数に関するデータを取得したいと仮定しましょう。

SELECT First_name, Last_name, Kids_number
FROM Employee
WHERE Kids_number >= 1

以下の表が取得できます。

{{h}}
{{r}}

3. クエリとAND条件

子供が少なくとも1人以上いて、名前が「R」で始まる全ての従業員に関するデータを得たいと仮定しましょう。 全ての属性についてのデータを取得したいです。

SELECT *
FROM Employee
WHERE Kids_number >= 1 AND First_name LIKE 'R%'

以下の表が取得できます。

{{h}}
{{r}}

4. クエリとOR条件

子供が少なくとも1人以上いるまたは、名前が「D」で始まる全ての従業員に関するデータを取得したいと仮定しましょう。全ての属性についてのデータを取得したいです。

SELECT *
FROM Employee
WHERE Kids_number >= 1 OR First_name LIKE 'D%'

以下の表が取得できます。

{{h}}
{{r}}

5.  クエリとORとAND条件

子供が少なくとも1人以上いるまたは、名前が「D」で始まる全ての従業員に関するデータを取得したいと仮定しましょう。それに加えて、2014年1月1日から働き始めた従業員だけを取得したいとします。全ての属性に関するデータが欲しいです。

SELECT *
FROM Employee
WHERE (Kids_number >= 1 OR First_name LIKE 'D%') AND Start >= '2014-01-01'

下記の表が取得できます。

{{h}}
{{r}}

 まとめ

基本のSQLクエリは、SELECT, FROMWHERE節を使用します。 SELECTは、取得したい属性(列)を示します。
SELECT内の*は、全ての属性に関するデータを取得したいことを意味します。FROMは、表[テーブル]に含まれるデータを示します。最後に、WHEREは、1つまたはいくつかの条件に合うレコードのみをフィルターします。

IN は、より簡潔なコードを書くことを許可します。例えば、 ... WHERE Kids_number=1 OR Kids_number=3 は、 ... WHERE Kids_number IN (1,3)と同等となります。