では実際に内部結合を操作してみよう
(内部結合は、2つのテーブルの値が一致するデータを結合して取得する結合)
今回は、 userテーブルとproductテーブルの2つのテーブルを作成する
ではまずuserテーブルを作成しよう。
create table user (id int(10), name varchar(20), area varchar(20));
idカラム、nameカラム、 areaカラムを作成
次に productテーブルを作成する
create table product (product_id int(10), name varchar(20), price int(10));
product_idカラム、 nameカラム、 priceカラムを作成
2つのテーブルにデータを追加していく
insert into user (id, name, area) values (1, '佐藤次郎', '静岡県'), (2, '田沢英二', '東京都'), (3, '鈴木吾郎', '愛知県'), (4, '山田花子', '埼玉県');
userテーブルの作成
続いて productテーブルにデータを追加する
insert into product (product_id, name, price) values (1, 'コッペパン', 250), (3, 'クリームパン', 130), (4, 'カツカレーパン', 400), (5, '海老カツパン', 750);
productテーブルの作成
では2つのテーブルが作成できたため、内部結合の操作をしていく
内部結合の構文
SELECT カラム名 FROM テーブル名 INNER JOIN テーブル名ON (結合条件)
userテーブルの idと productテーブルを内部結合する
select * from user inner join product on id = product_id;
このように条件が一致しているデータのみを結合して取得することができた
userテーブルの nameカラムと productテーブルの nameカラムが同じ名前のカラムのため、 productテーブルのnameカラムを
product_nameカラムに変更する
カラム名を変更するときは、 ALTER TABLE文を使う
ALTER TABLEの構文
ALTER TABLE テーブル名 CHANGE COLUMN 元々のカラム名 変更するカラム名 型名
alter table product change column name product_name varchar(20);
productテーブルのカラムが product_nameカラムに変更されていることがわかる
再度 内部結合をして userテーブルのidカラムと、 productテーブルの product_idカラムを取得する
select id, name, area from user inner join product on id = product_id;