書籍の内容はまともでしょうか?
phpMyadmin
これは「phpMyAdmin」~の「MySQ」L関連の質問です。
mysql> select * from my_items;
+----+----------+--------------+-------+----------------------+-------+---------------------+
| id | maker_id | item_name | price | keyword | sales | created |
+----+----------+--------------+-------+----------------------+-------+---------------------+
| 1 | 1 | いちご | 180 | 赤い,甘い,ケーキ | 5 | 2018-01-01 00:00:00 |
| 2 | 2 | りんご | 90 | 丸い,赤い,パイ | 20 | 2023-01-11 06:57:21 |
| 3 | 1 | バナナ | 120 | パック,甘い,黄色 | 16 | 0000-00-00 00:00:00 |
| 4 | 3 | ブルーベリー | 200 | 袋入り,青い,眼精疲労 | 8 | 0000-00-00 00:00:00 |
+----+----------+--------------+-------+----------------------+-------+---------------------+
4 rows in set (0.01 sec)
以上ですが
分かりにくいで、上記と同じ「添付画像」で問題の表の確認ができます。
さて
書籍P.179「よくわかるPHP教科書()PHP第7対応版」
3)複数のテーブルを横断して検索する
ではこの状態で「いちご生産者」を知るにはどうした良いのでしょう?
このとき、通常の手順にしてとしては次のようになります。
❶次のSQLを発行して商品1の情報を取り出します。
(「phpMyAdmin」の「SQL」に以下を入力しましす。)
SELECT maker_id FROM my_items WHERE id=1
❷このデータ「maker_id」を見て、1であることを知ります。
❸次SQLを発行して、生産の情報を検索します。
(P.180)
SELECT * FROM makers Where id=1;
❹こうして山田さんであることを知ることができます。(図4-18-7)。
id name address tel
1 山田さん 東京都港区 000-111-2222
(図4-18-7)
しかし、これは非常に効率が悪いです。そこで、データベースは非常に便利な機能があります。
それがリレーションです。
リレーションを使う ・・・
❺まずは実際に使ってみましょう。次のSQLを実行します。
SELECT * FROM makers, my_items WHERE my_items.id=1 and makers.id=my_items.maker_id
❻ 以上の、少し長いSQLを実行すると、一発で生産者の名前や住所、電話番号が商品情報とともに閲覧できます。
-------------------------------------------------------------------------------------------------------
(カラム省略)
山田さん 東京都港区 000-111-2222 1 1 いちご 180 赤い,甘い,ケーキ 5 2018-01-01 00:00:00
図4-18-8
以上までの書籍の内容です。
書籍の内容は以上ですが
さて それで 疑問があります。
❷の「このデータ「maker_id」を見て、1であることを知ります。」
ですが!
「maker_id」が「1」であるか無いかがわからなくても
最初から
SELECT * FROM makers Where id=1
と検索したほうが 手っ取り早いのですが
何故 それをしないのですか?
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- MySQL UPDATE my_items SET item_name '赤い,甘い,ケーキ' WHERE id 1 2023/01/03 09:52
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「名前(first name) 1 2023/06/24 13:03
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
selectした大量データをinsert...
-
副問合せの書き方について
-
ある条件の最大値+1を初番する...
-
マイクラPC版のコマンドで効率...
-
VIEWの元のテーブルのindexって...
-
1対多結合で多を絞り込み条件と...
-
load dataするときに、最後の列...
-
SELECT句の指定フィールドに固...
-
NOT NULL 制約の削除
-
複数updateする時に・・・
-
Mysql UPDATE出来ません
-
複数DBテーブルからのデータ取得
-
MySQLでのバイナリデータ削除方法
-
#1136 - Column count doesn't ...
-
VBAでボタンをクリックする方法...
-
エクセルの関数について教えて...
-
MySQLのAVGでWHERE句を使い条件...
-
accessに対してSQL文を発行する...
-
Unionした最後にGROUP BYを追加...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
VIEWの元のテーブルのindexって...
-
SQLサーバから、項目の属性(型...
-
select文のwhere句に配列を入れ...
-
副問合せの書き方について
-
マイクラPC版のコマンドで効率...
-
Unionした最後にGROUP BYを追加...
-
selectした大量データをinsert...
-
SQLにて特定の文字を除いた検索...
-
[SQLServer] テーブル名からカ...
-
1テーブル&複数レコードの更新...
-
inner joinをすると数がおかし...
-
クエリ表示と、ADOで抽出したレ...
-
ある条件の最大値+1を初番する...
-
sqlで、600行あるテーブルを100...
-
複数テーブルのGROUP BY の使い...
-
insertを高速化させたい
-
PL/SQLの変数について
-
キー毎の、ある列のmaxのレコー...
おすすめ情報