mysql join操作【例項教程】
阿新 • • 發佈:2018-12-19
mysql join操作例項
1.準備資料
1.1建立表
create table test1 (
id TINYINT PRIMARY key,
name VARCHAR(225)
);
create table test2 (
id TINYINT PRIMARY key,
name VARCHAR(225)
)
1.2插入資料
INSERT INTO test1 (id ,name) values(1,'test11');
INSERT INTO test1 (id ,name) values(2,'test12');
INSERT INTO test1 (id ,name) values(3,'test13');
INSERT INTO test1 (id ,name) values(4,'test14');
INSERT INTO test1 (id ,name) values(5,'test15');
INSERT INTO test2 (id ,name) values(3,'test11');
INSERT INTO test2 (id ,name) values(4,'test11');
INSERT INTO test2 (id ,name) values(5,'test11');
INSERT INTO test2 (id ,name) values(6,'test11');
INSERT INTO test2 (id ,name) values(7,'test11');
INSERT INTO test2 (id ,name) values(8,'test11');
2 left join
SELECT * FROM test1 t1 LEFT JOIN test2 t2 on t1.id=t2.id;
左連線:左表是主表,資料數量為左表的數量。右表關聯沒有資料的以空顯示。
3 right join
SELECT * FROM test1 t1 right JOIN test2 t2 on t1.id=t2.id;
右連線:右表是主表,資料數量為右表的數量。左表關聯沒有資料的以空顯示。
4 inner join
SELECT * FROM test1 t1 inner join test2 t2 on t1.id=t2.id;
顯示的是兩張表關聯.的共有部分。
5 顯示只屬於A表不屬於B表
SELECT * FROM test1 t1 left join test2 t2 on t1.id=t2.id where t2.id is null;
6 顯示 A表和B表的合集
SELECT * FROM test1 t1 left join test2 t2 on t1.id=t2.id
UNION
SELECT * FROM test1 t1 right join test2 t2 on t1.id=t2.id ;
這樣子就很清楚join操作了。