SQL/SELECT...IN句のサンプル
の編集
Top
/
SQL
/
SELECT...IN句のサンプル
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
PostgreSQL/template0とtemplate1の違いについて
#navi(../) * SELECT...IN句のサンプル [#x00eaca4] WHERE句でORを使ってたくさんの検索値を対象にしてSELECTしたい場合がありますよね。~ でも、たくさんありすぎるとORだらけのWHEREになってしまい大変です。~ こんなの時はIN句を使うとスマートにSQL構文を記述することができます。~ 以下にIN句を使用したサンプルを記します。~ 尚、動作確認環境に記したPostgreSQL, MySQL, SQLite3で動作確認を行いました。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連記事 [#saf9a93a] -[[SELECT...IN句のサンプル>SQL/SELECT...IN句のサンプル]] -[[SELECT...IN句をサブクエリーにするサンプル>SQL/IN句をサブクエリーにするサンプル]] * 動作確認環境 [#v1bbcc5b] -OS $ lsb_release -d Description: Ubuntu 12.04.4 LTS -PostgreSQL postgres=# select version(); version ------------------------------------------------------------------------------------------------------ PostgreSQL 9.1.12 on i686-pc-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 32-bit -MySQL mysql> select version(); +-------------------------+ | version() | +-------------------------+ | 5.5.35-0ubuntu0.12.04.2 | +-------------------------+ 1 row in set (0.00 sec)-SQLite3~ -SQLite3 $ sqlite3 --version 3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e * 使用したサンプルテーブル [#f3b16392] 以下のSQLによりテーブルを作成しデータをINSERTしました。~ &ref(sql1.sql); 改行コードLF CREATE TABLE t1 ( no INT PRIMARY KEY ,country VARCHAR(20) ,capital VARCHAR(20) ); INSERT INTO t1 VALUES (1,'Japan','Tokyo'); INSERT INTO t1 VALUES (2,'China','Beijing'); INSERT INTO t1 VALUES (3,'Australia','Canberra'); INSERT INTO t1 VALUES (4,'Thailand','Bangkok'); INSERT INTO t1 VALUES (5,'Indonesia','Jakarta'); テーブル構成は以下の通りです。 |''no primary''|''country''|''capital''| |1|Japan|Tokyo| |2|China|Beijing| |3|Australia|Canberra| |4|Thailand|Bangkok| |5|Indonesia|Jakarta| * IN句を使ってSELECTを行う [#f40186e3] INを使うとWHERE句で書いた場合と以下のような構文の違いがでます。~ ORを使用する必要がないので簡潔に記述できます。 -ORを使用 sakura=# SELECT * FROM t1 WHERE no=1 OR no=3 OR no=5; no | country | capital ----+-----------+--------- 1 | Japan | Tokyo 3 | Australia | Canberra 5 | Indonesia | Jakarta (3 rows) -INを使用 sakura=# SELECT * FROM t1 WHERE no IN (1,3,5); no | country | capital ----+-----------+--------- 1 | Japan | Tokyo 3 | Australia | Canberra 5 | Indonesia | Jakarta (3 rows) SQL構文の違いが確認できますね。~ IN句をサブクエリーにすることもできます。~ 以下のリンクにIN句をサブクエリーにした記事を公開していますので参考にしてください。 -[[SELECT...IN句をサブクエリーにするサンプル>SQL/IN句をサブクエリーにするサンプル]] 以上、IN句のサンプルSQL構文でした。 #htmlinsertpcsp(db-btm.html,db-sp.html)
タイムスタンプを変更しない
#navi(../) * SELECT...IN句のサンプル [#x00eaca4] WHERE句でORを使ってたくさんの検索値を対象にしてSELECTしたい場合がありますよね。~ でも、たくさんありすぎるとORだらけのWHEREになってしまい大変です。~ こんなの時はIN句を使うとスマートにSQL構文を記述することができます。~ 以下にIN句を使用したサンプルを記します。~ 尚、動作確認環境に記したPostgreSQL, MySQL, SQLite3で動作確認を行いました。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 関連記事 [#saf9a93a] -[[SELECT...IN句のサンプル>SQL/SELECT...IN句のサンプル]] -[[SELECT...IN句をサブクエリーにするサンプル>SQL/IN句をサブクエリーにするサンプル]] * 動作確認環境 [#v1bbcc5b] -OS $ lsb_release -d Description: Ubuntu 12.04.4 LTS -PostgreSQL postgres=# select version(); version ------------------------------------------------------------------------------------------------------ PostgreSQL 9.1.12 on i686-pc-linux-gnu, compiled by gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 32-bit -MySQL mysql> select version(); +-------------------------+ | version() | +-------------------------+ | 5.5.35-0ubuntu0.12.04.2 | +-------------------------+ 1 row in set (0.00 sec)-SQLite3~ -SQLite3 $ sqlite3 --version 3.7.9 2011-11-01 00:52:41 c7c6050ef060877ebe77b41d959e9df13f8c9b5e * 使用したサンプルテーブル [#f3b16392] 以下のSQLによりテーブルを作成しデータをINSERTしました。~ &ref(sql1.sql); 改行コードLF CREATE TABLE t1 ( no INT PRIMARY KEY ,country VARCHAR(20) ,capital VARCHAR(20) ); INSERT INTO t1 VALUES (1,'Japan','Tokyo'); INSERT INTO t1 VALUES (2,'China','Beijing'); INSERT INTO t1 VALUES (3,'Australia','Canberra'); INSERT INTO t1 VALUES (4,'Thailand','Bangkok'); INSERT INTO t1 VALUES (5,'Indonesia','Jakarta'); テーブル構成は以下の通りです。 |''no primary''|''country''|''capital''| |1|Japan|Tokyo| |2|China|Beijing| |3|Australia|Canberra| |4|Thailand|Bangkok| |5|Indonesia|Jakarta| * IN句を使ってSELECTを行う [#f40186e3] INを使うとWHERE句で書いた場合と以下のような構文の違いがでます。~ ORを使用する必要がないので簡潔に記述できます。 -ORを使用 sakura=# SELECT * FROM t1 WHERE no=1 OR no=3 OR no=5; no | country | capital ----+-----------+--------- 1 | Japan | Tokyo 3 | Australia | Canberra 5 | Indonesia | Jakarta (3 rows) -INを使用 sakura=# SELECT * FROM t1 WHERE no IN (1,3,5); no | country | capital ----+-----------+--------- 1 | Japan | Tokyo 3 | Australia | Canberra 5 | Indonesia | Jakarta (3 rows) SQL構文の違いが確認できますね。~ IN句をサブクエリーにすることもできます。~ 以下のリンクにIN句をサブクエリーにした記事を公開していますので参考にしてください。 -[[SELECT...IN句をサブクエリーにするサンプル>SQL/IN句をサブクエリーにするサンプル]] 以上、IN句のサンプルSQL構文でした。 #htmlinsertpcsp(db-btm.html,db-sp.html)
テキスト整形のルールを表示する
添付ファイル:
sql1.sql
635件
[
詳細
]