SQL/IN句をサブクエリーにするサンプル
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* SELECT...IN句をサブクエリーにするサンプル [#le4c2506]
まずはIN句について調べている方は、以下のリンク記事が参考...
-[[SELECT...IN句のサンプル>SQL/SELECT...IN句のサンプル]]
IN句にたくさんの値を記述するのも大変な場合、SELECTにより...
以下にIN句内にSELECTを使用したサンプルを記します。~
尚、動作確認環境に記したPostgreSQL, MySQL, SQLite3で動作...
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 関連記事 [#ca47d516]
-[[SELECT...IN句のサンプル>SQL/SELECT...IN句のサンプル]]
-[[SELECT...IN句をサブクエリーにするサンプル>SQL/IN句をサ...
* 動作確認環境 [#m0154125]
-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...
-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 c7c6050ef060877ebe77b41d959e9d...
* 使用したサンプルテーブル [#qc4df022]
以下のSQLによりテーブルを作成しデータをINSERTしました。~
&ref(sql1.sql); 改行コードLF
CREATE TABLE t1 (
id 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');
CREATE TABLE t2 (
id INT
,group_id INT
);
INSERT INTO t2 VALUES (1, 1);
INSERT INTO t2 VALUES (2, 2);
INSERT INTO t2 VALUES (3, 1);
INSERT INTO t2 VALUES (4, 2);
INSERT INTO t2 VALUES (5, 1);
テーブル構成は以下の通りです。
-t1
|''no primary''|''country''|''capital''|
|1|Japan|Tokyo|
|2|China|Beijing|
|3|Australia|Canberra|
|4|Thailand|Bangkok|
|5|Indonesia|Jakarta|
-t2
|''id''|''group_id''|
|1|1|
|2|2|
|3|1|
|4|2|
|5|1|
* IN句内にSELECTを使って絞り込む [#h25015f8]
IN句にSELECTを書くことができます。~
以下に上記テーブル(t1,t2)を使用した場合の実行例を記します。
mysql> select * from t1 where id in (select id from t2 w...
+----+----------+---------+
| id | country | capital |
+----+----------+---------+
| 2 | China | Beijing |
| 4 | Thailand | Bangkok |
+----+----------+---------+
mysql> select * from t1 where id in (select id from t2 w...
+----+-----------+----------+
| id | country | capital |
+----+-----------+----------+
| 1 | Japan | Tokyo |
| 3 | Australia | Canberra |
| 5 | Indonesia | Jakarta |
+----+-----------+----------+
以上、IN句内にSELECTを使用するサンプルSQL構文でした。
#htmlinsertpcsp(db-btm.html,db-sp.html)
終了行:
#navi(../)
* SELECT...IN句をサブクエリーにするサンプル [#le4c2506]
まずはIN句について調べている方は、以下のリンク記事が参考...
-[[SELECT...IN句のサンプル>SQL/SELECT...IN句のサンプル]]
IN句にたくさんの値を記述するのも大変な場合、SELECTにより...
以下にIN句内にSELECTを使用したサンプルを記します。~
尚、動作確認環境に記したPostgreSQL, MySQL, SQLite3で動作...
#contents
#htmlinsertpcsp(db-top.html,db-sp.html)
* 関連記事 [#ca47d516]
-[[SELECT...IN句のサンプル>SQL/SELECT...IN句のサンプル]]
-[[SELECT...IN句をサブクエリーにするサンプル>SQL/IN句をサ...
* 動作確認環境 [#m0154125]
-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...
-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 c7c6050ef060877ebe77b41d959e9d...
* 使用したサンプルテーブル [#qc4df022]
以下のSQLによりテーブルを作成しデータをINSERTしました。~
&ref(sql1.sql); 改行コードLF
CREATE TABLE t1 (
id 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');
CREATE TABLE t2 (
id INT
,group_id INT
);
INSERT INTO t2 VALUES (1, 1);
INSERT INTO t2 VALUES (2, 2);
INSERT INTO t2 VALUES (3, 1);
INSERT INTO t2 VALUES (4, 2);
INSERT INTO t2 VALUES (5, 1);
テーブル構成は以下の通りです。
-t1
|''no primary''|''country''|''capital''|
|1|Japan|Tokyo|
|2|China|Beijing|
|3|Australia|Canberra|
|4|Thailand|Bangkok|
|5|Indonesia|Jakarta|
-t2
|''id''|''group_id''|
|1|1|
|2|2|
|3|1|
|4|2|
|5|1|
* IN句内にSELECTを使って絞り込む [#h25015f8]
IN句にSELECTを書くことができます。~
以下に上記テーブル(t1,t2)を使用した場合の実行例を記します。
mysql> select * from t1 where id in (select id from t2 w...
+----+----------+---------+
| id | country | capital |
+----+----------+---------+
| 2 | China | Beijing |
| 4 | Thailand | Bangkok |
+----+----------+---------+
mysql> select * from t1 where id in (select id from t2 w...
+----+-----------+----------+
| id | country | capital |
+----+-----------+----------+
| 1 | Japan | Tokyo |
| 3 | Australia | Canberra |
| 5 | Indonesia | Jakarta |
+----+-----------+----------+
以上、IN句内にSELECTを使用するサンプルSQL構文でした。
#htmlinsertpcsp(db-btm.html,db-sp.html)
ページ名: