基本情報技術者試験午後の対策(コツ2)
次に「SQL文」を勉強しておきましょう。これも必ず1題出ると思われます。
SQL文の基本を書きます。これだけ覚えてもらえれば解けますので、心配しないでください。また、これをやっておけば午前の問題も解けるようになります。
SELECT 列1,列2 FROM 表1,表2 WHERE 条件
この形だけ覚えてください。
意味は、表1、表2から条件にヒットする行を抽出し列1と列2を書き出すと読みます。
条件には
列3="A" AND 列4="B"
列3(表1)=列4(表2) 表1の列3と表2の列4が等しいもの (2つの表の結合の時に使います)
列3=LIKE"%A%" Aという文字が含まれる
このようなものが良く出てきますので覚えておいてください。
それでは少し例をみながらイメージをつかむことにしましょう。
(1)例1 単一表
20歳以下の男性の名前と年齢を出力する
学生名簿
| 学生番号 |
名前 |
年齢 |
性別 |
| 10001 |
荒井 茂 |
21 |
男 |
| 10002 |
高橋 ゆかり |
20 |
女 |
| 10003 |
斉藤 豊 |
19 |
男 |
| 10004 |
鈴木 裕子 |
21 |
女 |
| 10005 |
金沢 賢二 |
20 |
男 |
SELECT 名前,年齢 FROM 学生名簿 WHERE 年齢<=20 AND 性別="男"
<結果>
| 名前 |
年齢 |
| 斉藤 豊 |
19 |
| 金沢 謙二 |
20 |
(2)例2 複数表
女子学生の名前と学部を出力する
学生名簿
| 学生番号 |
名前 |
年齢 |
性別 |
| 10001 |
荒井 茂 |
21 |
男 |
| 10002 |
高橋 ゆかり |
20 |
女 |
| 10003 |
斉藤 豊 |
19 |
男 |
| 10004 |
鈴木 裕子 |
21 |
女 |
| 10005 |
金沢 賢二 |
20 |
男 |
学部名簿
| 学生NO |
学部 |
| 10001 |
工学部 |
| 10002 |
文学部 |
| 10003 |
法学部 |
| 10004 |
理学部 |
| 10005 |
経済学部 |
SELECT 名前,学部 FROM 学生名簿,学部名簿 WHERE 学生番号=学生NO AND 性別="女"
<結果>
| 名前 |
学部 |
| 高橋 ゆかり |
文学部 |
| 鈴木 裕子 |
理学部 |
これだけでいいので覚えてください。これも楽勝ですね。