8-8. MySQL入門⑧テーブルの結合
MySQL入門、ラストです。
やっとだー
全然関係ないけど色々考えがまとまりそう。。これもあとちょっと。たぶん。
1-1. テーブルの結合
1つのデータベースに、それぞれが異なる情報を持つ複数のテーブルを保持するのはよくあることです。
今回は、classicsテーブルから購入した出版物と相互参照できるcustomersテーブルの例でみていきます。
以下のコマンドを入力します。
まず、「costomers」のテーブルを作成し、「INSERT INTO」を使ってテーブルに情報を入れます。
CREATE TABLE customers (
name VARCHAR(128),
isbn VARCHAR(128),
PRIMARY KEY (isbn)) ENGINE MyISAM;
INSERT INTO customers(name,isbn)
VALUES('Joe Bloggs','9780099533474');
INSERT INTO customers(name,isbn)
VALUES('Mary Smith','9780582506206');
INSERT INTO customers(name,isbn)
VALUES('Jack Wilson','9780517123201');
SELECT * FROM customers;
結果はこう。
次に2つのテーブルを結合して1つの「SELECT」にします。
SELECT name,author,title from customers,classics
WHERE customers.isbn=classics.isbn;
結果はこう。
1-2. NATURAL JOIN
「NATURAL JOIN」を使用すると、入力する手数が減るとともにクエリが少しわかりやすくなります。
2つのテーブルを取り、同じ名前を持つ列を自動的に結合させます。
SELECT name,author,title FROM customers NATURAL JOIN classics;
1-3. JOIN...AS
2つのテーブルの結合させる列を指定したい場合には、「JOIN...AS」を使用します。
SELECT name,author,title FROM customer
JOIN classics ON cutomers. isbn=classics.isbn;
いじょー
意外と終わりはあっさりだった。
次は9章です、正規化というやつです。噂だと正規化で死ぬという。。。