関係データベースを計算機に入れ、 前回行った演算を実行するには専用の言語を必要とする。 アプリケーションは PostgreSQL (ぽすとぐれしーける) を使う。 言語は SQL, Structured Query Language を用いる。英語では "しーける" と発音するが、日本ではアルファベット読みが通用している。
SQL で実行したいこと
である。
SQL は表に対して設定する言語と、 レコードに対して動作を行う言語から成り立っている。 表に実行を行う許可を与えることは、 データ定義言語と呼ばれる DDL, Data Definition Language を使って行い、 表の操作はデータ操作言語と呼ばれる DML, Data Manipulation Language を使う。
関係データベースにおいてデータを操作するのには、射影、選択、結合があった。 このような操作は、データを照会しながら行うので、query (照会) と呼ばれる。
Query には SELECT, INSERT, UPDATE, DELETE, をよく使うので覚えておこう。
ワイルドカードの文字は * を使う。 ワイルドカードとは、あらゆる文字列の代わりになる文字のこと。
あるレコードを取り出すときに使う。
SELECT 属性 FROM 表 [WHERE 条件]
何かを取り出すのに関数を使うことができる。以下のような関数を知っておくと便利である。
関数 | 目的 | 使いかた |
---|---|---|
AVG | 平均を出す | AVG(属性) |
COUNT | 行数を出す | COUNT(*) |
MAX | 最大値を出す | MAX(属性) |
MIN | 最小値を出す | MIN(属性) |
SUM | 合計を出す | SUM(属性) |
上の演習問題でも、順位の和や平均は意味がないが、練習のために行っている。
COUNT は、* で全てを数えること以外に、重複しない行数を数える指定ができる。 それには重複している情報を含む属性を DISTINCT で指定すればよい。
COUNT (DISTINCT (属性)):重複を排除した行数を数える