このような2つのmysqlテーブルを取得しました
CREATE TABLE IF NOT EXISTS tbl1 (
`id` INTEGER(2) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT ,
`name` VARCHAR(20) NOT NULL
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE TABLE IF NOT EXISTS tbl2 (
`tbl_id` INTEGER(2) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT ,
`id2` INTEGER(2) UNSIGNED NOT NULL ,
`email` VARCHAR(20) NOT NULL ,
FOREIGN KEY (`id2`) REFERENCES tbl1(`id`)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
これはtbl1のサンプルデータです
1 hello
2 world
3 happy
4 end
および tbl2 のサンプル データ
2 1 me@mail
3 2 my@mail
4 4 you@mail
今、2 つのテーブルに参加する名前と電子メールを選択したいと思います。ここにSQLがあります
select name,email from tbl1 t1,tbl2 t2 where t2.id2 = t1.id;
それと私は得ています
hello me@mail
world my@mail
end you@mail
しかし、tbl1のすべての行が必要です
hello me@mail
world my@mail
happy null or nothing or 0
end you@mail
ここで私は立ち往生しています。どんな助けでも大歓迎です。前もって感謝します。