
トップページ
>逆引きSQLリファレンス
このページは,Access2000をベースに記述しています.
SQLは,データベース(SQLServer,Oracleなど)によって異なる場合がありますので注意してください.
- 選択
ある条件と一致するデータを抽出する
データをグループ化する
グループ化されたデータに検索条件を指定する
データを並べ替える2005/7/28追加
列に別名をつける
- 結合
内部結合
外部結合
自己結合
サブクエリ
- 演算子
算術演算子(加減乗除,剰余)
比較演算子(等しい,以上,大きい,以下,小さい,不一致)
文字列演算子(連結,類似)2005/7/28追加
論理演算子(かつ,いずれか,でない)
集合演算子(UNION,UNION ALL)
その他演算子(IN,BETWEEN)
- データ操作
追加
新規表とデータの追加
更新
削除
- 表
表の作成
表の変更
表の削除
◆すべてのデータを抽出する
選択した列のすべてのデータを抽出します.
[書式]
SELECT <列名> FROM <表名>
選択した列から,抽出条件に該当するデータのみ抽出します.
[書式]
WHERE <抽出条件>
GROUP BY句を使うと,(GROUP BY句で指定した)列の値が同一のものをひとつにまとめることができます.
[書式]
GROUP BY <列名>
[注意]
- SELECT句では,通常の列と集計関数を指定していることに注意する.
(通常の列と集計関数を単純に組み合わせて使うことは出来ない.)
- グループの中で値が一意に定まらない列をSELECT句に指定することはできない.
[書式]
HAVING <列名>
指定した列の昇順もしくは降順に並べ替えることができます.
列名は,並べ替えの優先順位が高いものから先に記述します.
昇順
[書式]
ORDER BY <列名> ASC
列名は,並べ替えの優先順位が高いものから先に記述します.
※ASCは省略可能
降順
[書式]
ORDER BY <列名> DESC
列名は,並べ替えの優先順位が高いものから先に記述します.
昇順・降順
列名1の昇順,列名2の降順に並べ替えます.
[書式]
ORDER BY <列名1> , <列名2> DESC
降順・昇順
列名1の降順,列名2の昇順に並べ替えます.
[書式]
ORDER BY <列名1> DESC, <列名2>
[書式]
<列名> AS 別名
内部結合は,結合するキーを基準として,お互いの内容と一致するもののみ抽出する結合です.
[書式]
FROM <表名> INNER JOIN <表名2> ON <結合条件>
左外部結合
左外部結合は,結合するキーを基準として,左側の表の内容をすべて抽出し,右側の表の内容は,左側の表の内容と一致するもののみ抽出する結合です.
[書式]
FROM <表名> LEFT JOIN <表名2> ON <結合条件>
右外部結合
右外部結合は,結合するキーを基準として,右側の表の内容をすべて抽出し,左側の表の内容は,右側の表の内容と一致するもののみ抽出する結合です.
[書式]
FROM <表名> RIGHT JOIN <表名2> ON <結合条件>
特殊な結合方式である自己結合は,自分自身と結合します.
自己結合は,データの内部的な整合性を確認するときに役立ちます.
[書式]
FROM <表名>,<表名> AS <表名の別名> ON <結合条件>
クエリのなかにクエリを埋め込むクエリのことで,副問い合わせとも呼びます.
ひとつの値を求めるサブクエリ
[書式]
SELECT <列名>
FROM <表名>
WHERE <列名> =
(SELECT <列名>
FROM <表名>
WHERE <結合条件>)
[注意]
サブクエリの結果は,必ず一意に定まるように設定します.
複数の値を求めるサブクエリ
[書式]
SELECT <列名>
FROM <表名>
WHERE <列名> IN
(SELECT <列名>
FROM <表名>
WHERE <結合条件>)
[書式]
<列名1> + <列名2>
値を差し引く(減算演算子)
[書式]
<列名1> - <列名2>
値をかけ合わせる(乗算演算子)
[書式]
<列名1> * <列名2>
値を割る(除算演算子)
[書式]
<列名1> / <列名2>
[書式]
<列名> Mod <除数>
※%
値と等しい列名を抽出する
[書式]
WHERE <列名> = <値>
値より大きい列名の値を抽出する
[書式]
WHERE <列名> > <値>
値以上の列名の値を抽出する
[書式]
WHERE <列名> >= <値>
値より小さい列名の値を抽出する
[書式]
WHERE <列名> < <値>
値以下の列名の抽出する
[書式]
WHERE <列名> <= <値>
[書式]
WHERE <列名> <> <値>
[書式]
<列名> & <列名>
※||
[書式]
WHERE Like <条件>
任意の文字列を含む
[書式]
WHERE Like *<文字列>*
※%
前方に任意の文字列を含む
[書式]
WHERE Like <文字列>*
後方に任意の文字列を含む
[書式]
WHERE Like *<文字列>
前方に任意の文字列と1文字を含む
[書式]
WHERE Like <文字列>?
※_
後方に任意の文字列と1文字を含む
[書式]
WHERE Like ?<文字列>
[書式]
WHERE <条件1> AND <条件2>
[書式]
WHERE <条件1> OR <条件2>
[書式]
WHERE <列名> NOT <条件>
UNIONクエリは,複数のテーブルもしくはクエリの結果をつなぎあわせたもので,UNIONクエリとUNION ALLクエリの2種類があります.
UNION
複数のテーブルもしくはクエリの結果をつなぎあわせて,重複する行を除いたものを
求めます.
[書式]
SELECT <列名> FROM <表名>
UNION
SELECT <列名> FROM <表名>
UNION ALL
複数のテーブルもしくはクエリの結果をつなぎあわせます.
[書式]
SELECT <列名> FROM <表名>
UNION ALL
SELECT <列名> FROM <表名>
指定した値を含む列を抽出
[書式]
SELECT <列名> FROM <表名>
WHERE <列名> IN(<値1> , <値2>)
指定した値の範囲内にある列を抽出
[書式]
SELECT <列名> FROM <表名>
WHERE <列名> BETWEEN <値1> AND <値2>
一行データの追加
[書式]
INSERT INTO <表名> (<列名1>,<列名2>,…) VALUES (<値1>,<値2>,…)
[諸注意]
データの追加を行うには以下の点に注意する必要があります.
- 追加元と追加先の列のデータ型は同じでなければならない
- 追加元と追加先の列は対応づけられていなければならない
複数データの追加
[書式]
INSERT INTO <表名> SELECT <表名2.列名1>,<表名2.列名2>,… FROM <表名2> ORDER BY <表名2.列名1>,<表名2.列名2>
[諸注意]
データの追加を行うには以下の点に注意する必要があります.
- 追加元と追加先の列のデータ型は同じでなければならない
- 追加元と追加先の列は対応づけられていなければならない
- 追加元と追加先のテーブルは同じであってはならない
[書式]
SELECT * INTO <追加先表名> FROM <追加元表名>
[書式]
UPDATE <表名> SET <列名> = <値>
条件に一致するデータの更新
[書式]
UPDATE <表名> SET <列名> = <値> WHERE <条件>
[書式]
DELETE FROM <表名>
表の作成を行います.
[書式]
CREATE TABLE <表名> (
<列名1> <データ型> [NOT NULL],
<列名2> <データ型> [NOT NULL],
<列名3> <データ型> [NOT NULL], ・・・)
表の変更を行います.
[書式]
ALTER TABLE <表名> {
ADD <列名> <データ型> ・・・
ALTER <列名> <データ型> ・・・
DROP <列名> <データ型> ・・・}
表の削除を行います.
[書式]
DROP TABLE <表名>
作成日:2004/12/4
更新日:2005/7/28
Copyright (C)2003-2005 Orakumiko All rights reserved.