1. 程式人生 > >mysql join操作【例項教程】

mysql join操作【例項教程】

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;

http://www.nooringinal.com/

左連線:左表是主表,資料數量為左表的數量。右表關聯沒有資料的以空顯示。

3 right join

SELECT * FROM test1 t1 right JOIN
test2 t2 on t1.id=t2.id;

http://www.nooringinal.com/blog/1

右連線:右表是主表,資料數量為右表的數量。左表關聯沒有資料的以空顯示。

4 inner join

SELECT * FROM test1 t1  inner  join  test2 t2 on t1.id=t2.id;

http://www.nooringinal.com/ 不原創網
顯示的是兩張表關聯.的共有部分。

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操作了。