検索条件を付加しSELECT文による抽出結果を限定するには、SELECT文の後にWHERE節を付け加えます(参考:PostgreSQL 9.5.4文書 - 7.2.2. WHERE句)。
-
条件は「項目名 [演算子] 値」の形式で指定します。以下に使える演算子をいくつか示します。
演算子 内容 例 結果 + 和 1 + 2 3 - 差 3 - 2 1 * 積 2 * 3 6 / 商(整数の割り算では余りを切り捨て) 6 / 3 2 % 剰余(割り算の余り) 5 % 3 2 < より小さい 7 < 3 false > より大きい 7 > 3 true <= 以下 7 <= 3 false >= 以上 7 >= 3 true = 等しい 7 = 3 false 'hoge' = 'foo' false <> 等しくない 7 <> 3 true 'hoge' <> 'foo' true != 7 != 3 true 'hoge' != 'foo' true - 値を文字列として扱う場合(特に値に空白を含む場合)はシングルクォート(')で囲んで下さい。
- 条件を部分一致で指定する場合は「項目名 LIKE パターン」の形式で指定します(→LIKE)。
- 条件を正規表現で指定する場合はチルダ(~)を使用「項目名 ~ 正規表現パターン」の形式で指定します(→正規表現)。
書式
SELECT 項目名 FROM テーブル名 WHERE 条件=値 SELECT 項目名 FROM テーブル名 WHERE 項目名 LIKE パターン SELECT 項目名 FROM テーブル名 WHERE 項目名~正規表現パターン
-
関数を使い項目名を引数に指定して、関数の返り値を条件に使うこともできます。以下に関数例を挙げます。
関数 返り値のデータ型 説明 例 結果 abs(数値) (入力値と同じ) 絶対値 abs(-19.8) 19.8 ceil(dp or numeric) 整数 引数より大きい最小の整数(正の数では小数点以下切り上げ、負の数では小数点以下切り捨て) abs(-19.8) -19 floor(dp or numeric) 整数 引数より小さい最大の整数(正の数では小数点以下切り捨て、負の数では小数点以下切り上げ) floor(-19.8) -20 round(dp or numeric) 整数 四捨五入 round(-19.8) -20 round(dp or numeric, 整数) numeric 小数点以下n位未満(nは第2引数で指定した値)を四捨五入 round(42.4382, 2) 42.44 文字列など || 文字列など 文字列 文字列などを結合 'Post' || 'greSQL' PostgreSQL 'Value: ' || 42 Value: 42 length(文字列) 整数 文字数 length('hoge') 4 lower(文字列) 文字列 文字列を小文字に変換 lower('HOGE') hoge upper(文字列) 文字列 文字列を大文字に変換 lower('hoge') HOGE substr(文字列, 開始位置, 文字数) 文字列 部分文字列を返す。開始位置は先頭が1。文字数の指定を省略すると開始位置から最後までが返される。 substr('abcdefghij',3,3) cde - dp (dobule precision): 倍精度(可変精度、不正確、15桁精度、格納サイズ8バイト)
- numeric: ユーザ指定精度、正確、小数点前までは131072桁、小数点以降は16383桁、格納サイズ可変長
- smallint: 狭範囲整数(-32768から+32767の整数、格納サイズ2バイト)
- integer: 整数(-2147483648から+2147483647の整数、格納サイズ4バイト)
- bigint: 広範囲整数(-9223372036854775808から+9223372036854775807の整数、格納サイズ8バイト)
例
Order | Family | Genus | Species | Species_ja |
---|---|---|---|---|
Primate | Hominidae | Home | sapiens | ヒト |
Primate | Cercopithecidae | Macaca | fuscata | ニホンザル |
Primate | Hominidae | Gorilla | gorilla | ニシゴリラ |
Cetartiodactyla | Bovidae | Bos | taurus | ウシ |
Cetartiodactyla | Suidae | Sus | scrofa | イノシシ |
Cetartiodactyla | Physeteridae | Physeter | macrocephalus | マッコウクジラ |
Perissodactyla | Equidae | Equus | caballus | ウマ |
Perissodactyla | Rhinocerotidae | Ceratotherium | simum | シロサイ |
Rodentia | Muridae | Mus | musculus | ハツカネズミ |
Rodentia | Muridae | Rattus | norvegicus | ドブネズミ |
SELECT * FROM Mammalia WHERE Order='Primate' ↓ Order | Family | Genus | Species | Species_ja -------------------------------------------------------------------------------- Primate | Hominidae | Home | sapiens | ヒト Primate | Cercopithecidae | Macaca | fuscata | ニホンザル Primate | Hominidae | Gorilla | gorilla | ニシゴリラ SELECT substr(Family,1,5) AS Family_first5 FROM Mammalia WHERE Order='Primate' ↓ Family_first5 -------------- Homin Cerco Homin