SQLの構文を整理する(その①:SELECT構文)
応用情報技術者試験の午後の問題でデータベースを選ぼうと計画していますが、
(どの分野が得点しやすいのかざっと調べたところ、
データベースが取りやすそうだったという理由です)
SQLは実務で使ったこともないのでサッパリです。
なので、まずは構文を覚えようかなと思い、整理してみます。
SELECT [フィールド] FROM [テーブル]
- [テーブル]の中の[フィールド]だけを抽出する構文
- [フィールド]はカンマで区切ることで、複数指定することができる
SQLZOO SELECT basicsの1.の回答欄に、
以下のように入力し「Submit SQL」をクリックしてみましょう。
SELECT population FROM world
すると、すべての国の「population」のフィールドが表示されます。
今度は以下のように入力し「Submit SQL」をクリックしてみましょう。
SELECT population, gdp FROM world
すると、すべての国の「population」と「gdp」のフィールドが表示されます。
SELECT [フィールド] FROM [テーブル] WHERE [条件]
- 選択した[フィールド]の中で、[条件]を満たすものだけを表示する
ちなみに、"where"という英単語は「どこ」という意味の他、
接続詞として使うと「〜において」、「ここで、〜とする」という意味になります。
SQLZOO SELECT basicsの1.の回答欄に、
以下のように入力し「Submit SQL」をクリックしてみましょう。
SELECT population FROM world WHERE name = 'Germany'
すると、「population」のフィールドのうち、「name」が「Germany」のものだけが表示されます。
先ほどと同様、複数のフィールドを選択することもできます。
SELECT population, gdp FROM world WHERE name = 'Germany'
条件式には、AND, OR, NOTなどが使用できます。
SELECT population, gdp FROM world WHERE name = 'Germany' OR name = 'France'
と入力すれば、「Germany」と「France」の「population」「gdp」を表示することができます。
しかし、上記の例のように、同じフィールドに対し複数の条件を設定する場合は、
INを利用した方が楽です。
SQLZOO SELECT basicsの2.の回答欄に、
以下のように入力し「Submit SQL」をクリックしてみましょう。
SELECT name, population FROM world WHERE name IN ('Sweden', 'Norway', 'Denmark')
すると、「population」のフィールドのうち、
「name」が「Sweden」「Norway」「Denmark」のものが表示されます。
(この例では一緒に「name」も表示しています。
また、数字の範囲指定には、各種等号・不等号(=, <, >, <=, >=, <>*1)の他、
BETWEENも使用できます。
SQLZOO SELECT basicsの3.の回答欄に、
以下のように入力し「Submit SQL」をクリックしてみましょう。
SELECT name, area FROM world WHERE area BETWEEN 200000 AND 250000
すると、「area」が20万以上25万以下の「name」と「area」が表示されます。
*1:≠を意味する記号として、<>の他に!=も使用できます。