*ブログに戻る →ここ です。
ANYサブクエリ
条件に一致する値を他のテーブルのカラムから複数ANY探し出す。 free91
Thursday,August,1,2013
今回2つのデータベースdbを使う
sadachika_shop
kittaka_shop
以下の二つのテーブル名
sadachi_newcustomer
kitta_customer
○特定のデータベース内のテーブル
SHOW TABLES FROM sadachika_shop;
SHOW TABLES FROM Kittaka_shop;
○テーブル設定メモ
VARCHAR型なら、unique その他のオプション default 'データなし', default 0, not null(データなし を許さない)
INT型なら、primary key
○テーブルを作る ↓データベース名 ↓テーブル名 ↓カラム名 ↓VARCHAR型(文字を格納する型)
mysql> create table sadachika_shop.sadachi_customer (sada_id int not null primary key, sada_name varchar(10) default '氏名データなし');
Query OK, 0 rows affected (1.49 sec) ↑INT型(数字) ↑プライマリー(重複を許さない) ↑デフォルト(データが格納されなければ表示されるメッセージ)
mysql> create table Kittaka_shop.kitta_newcustomer (kit_id int not null primary key, kit_name varchar(10) default '氏名データなし', kit_d date);
Query OK, 0 rows affected (0.30 sec)
○カラムの構造を見る ↓データベース名 ↓テーブル名
mysql> show columns from sadachika_shop.sadachi_customer;
Field Type Null Key Default Extra
sada_id int(11) NO PRI NULL
sada_name varchar(10) YES 氏名データなし
2 rows in set (0.52 sec)
mysql> show columns from Kittaka_shop.kitta_newcustomer;
Field Type Null Key Default Extra
kit_id int(11) NO PRI NULL
kit_name varchar(10) YES 氏名データなし
kit_d date YES NULL
3 rows in set (0.17 sec)
○値を入力する
mysql> insert into sadachika_shop.sadachi_customer values(1, '長谷川'),(2, '稲垣'),(3, '定近'),
->(4, '橘高'),(5, '平山'),(6, '藤原'), (7, '松本'),(8, '小林'),
->(9, '三谷'),(10, '坂本'),(11, '楠'),(12, '中島');
Query OK, 12 rows affected (0.13 sec)
Records: 12 Duplicates: 0 Warnings: 0
mysql> insert into Kittaka_shop.kitta_newcustomer values(1, '山田',20130801),(2, '藤原',20130801),(3, '渡辺',20130801),
->(4, '坂本',20130801),(5, '船越',20130801),(6, '安藤',20130801), (7, '平山',20130801),(8, '高垣',20130801),
->(9, '定近',20130801),(10, '橘高',20130801),(11, '山脇',20130801),(12, '三谷',20130801);
Query OK, 12 rows affected (0.05 sec)
Records: 12 Duplicates: 0 Warnings: 0
○テーブルの中身の表示
mysql> select * from sadachika_shop.sadachi_customer;
sada_id sada_name
1 長谷川
2 稲垣
3 定近*重複
4 橘高*重複
5 平山*重複
6 藤原*重複
7 松本
8 小林
9 三谷*重複
10 坂本*重複
11 楠
12 中島
mysql> select * from Kittaka_shop.kitta_newcustomer;
kit_id kit_name kit_d
1 山田 2013-08-01
2 藤原*重複 2013-08-01
3 渡辺 2013-08-01
4 坂本*重複 2013-08-01
5 船越 2013-08-01
6 安藤 2013-08-01
7 平山*重複 2013-08-01
8 高垣 2013-08-01
9 定近*重複 2013-08-01
10 橘高*重複 2013-08-01
11 山脇 2013-08-01
12 三谷*重複 2013-08-01
○○データの取得
○○「kitta_newcustomer」テーブルの「kit_name」カラムの値が「sadachi_customer」テーブルの「sada_name」カラムに格納されている値を探す。
↓データベース名 ↓テーブル名
mysql> select * FROM sadachika_shop.sadachi_customer
-> WHERE sada_name = ANY (select kit_name FROM Kittaka_shop.kitta_newcustomer);
↑カラム名 ↑ANYは、条件に該当する複数の値を探す
sada_id sada_name
3 定近
4 橘高
5 平山
6 藤原
9 三谷
10 坂本
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。