*ブログに戻る →ここ です。
1,ANY
2,ALL句[以外をさがす<>]
3,EXISTS句
ANYとALLとEXISTSの違いが分らない
ほとんど違わない気がしますが・・・理解できないよ〜 メモします free93
Friday,August,2,2013
PHPのおさらいを優先したいので、理解できていないが流します
今回2つのデータベースdbを使う
sadachika_shop
kittaka_shop
以下の二つのテーブル名
sadachi_newcustomer
kitta_customer
○特定のデータベース内のテーブル
SHOW TABLES FROM sadachika_shop;
SHOW TABLES FROM Kittaka_shop;
○テーブルの中身の表示
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
○○ALL句 データの取得[以外をさがす<>]該当しないものを選び出す。
○○「kitta_newcustomer」テーブルの「kit_name」カラムの値が「sadachi_customer」テーブルの「sada_name」カラムに格納されている値[以外<>]を探す。
↓データベース名 ↓テーブル名
mysql> select * FROM sadachika_shop.sadachi_customer
-> WHERE sada_name <> ALL (select kit_name FROM Kittaka_shop.kitta_newcustomer);
↑カラム名 ↑ALLは?機能が分らない
sada_id sada_name
1 長谷川
2 稲垣
7 松本
8 小林
11 楠
12 中島
失敗○ データの取得[ALLで同一の値を探し出す= 計画からして間違ってるのかも?]?
「kitta_newcustomer」テーブルの「kit_name」カラムの値が「sadachi_customer」テーブルの「sada_name」カラムに格納されている値を探す。
↓データベース名 ↓テーブル名
mysql> select * FROM sadachika_shop.sadachi_customer
-> WHERE sada_name = ALL (select kit_name FROM Kittaka_shop.kitta_newcustomer);
↑カラム名 ↑ALLは、条件に該当する複数の値を探す
Empty set (0.00 set)
*イコールの計算式では失敗している、何が失敗しているのかもよく分らない?
○○EXISTS句
○○いまいちよく理解できていませんANY句と同じなんですけれど・・・PHPを復習したいので流そう
mysql> select * from sadachika_shop.sadachi_customer WHERE EXISTS
-> (select kit_name FROM Kittaka_shop.kitta_newcustomer WHERE sadachi_customer.sada_name = kitta_newcustomer.kit_name);
sada_id sada_name
3 定近
4 橘高
5 平山
6 藤原
9 三谷
10 坂本
*ANY句を使った時と同じ回答
*計算式が存在しないところに注目すべき、存在してるな?ANY句でよくないか?
失敗○mysql> select * from sadachika_shop.sadachi_customer WHERE EXISTS
-> (select sada_name FROM Kittaka_shop.kitta_newcustomer WHERE sadachi_customer.sada_name = kitta_newcustomer.kit_name);
↑これじゃERRORだよね
* 参考にしたサイトは→ こちら です。
これは赤色の文字例です。
これは青色の文字例です。