MySQL多表連線

2021-10-07 22:12:25 字數 2457 閱讀 2607

#建兩個表,其中address是user_info的位址表

#user_info表

create table user_info(

id int(2) primary key,

user_name varchar(12) unique,

password varchar(15) not null,

real_name varchar(8) not null,

age int(3)

); #address表

create table address(

id int(2) primary key,

user_id int(2) not null,

real_name varchar(8),

mobile char(11),

address varchar(150)

); insert into user_info values(1,'淺唱灬幸福','8912@321','王曉明',12);

insert into address values(1,1,'王小明','15516472282','山西太原');

insert into address values(2,1,'王鑫','18404905139','山西大同');

insert into address values(3,1,'任建','15333021730','山西晉城');

insert into user_info values(2,'ぅ浮生若夢〤','56701wz','王楠',36);

insert into address values(4,2,'王楠','15010303314','北京海淀');

insert into address values(5,2,'趙婕','18435224278','山西長治');

insert into user_info values(3,'街角の風鈴','27w4921','李曉飛',9);

insert into address values(6,6,'劉倩','13159775555','吉林長春');

1、內連線:

#獲取指定由戶名的所有位址,根據已知的條件獲取未知的資料

#查詢乙個使用者名稱對應的所有位址

select * from address where user_id = (select id from user_info where user_name ='淺唱灬幸福' );

#查詢姓王的使用者名稱對應的所有位址,這裡因為姓王的不止乙個人,所以不能用=而是用in

select * from address where user_id in (select id from user_info where real_name like '王%')

#多表查詢:多表之間必須有關係

#內連線,取多表之間交集

#外連線:left right

#關鍵字為left join 即查出 left join 左邊表的全部資料,就是user_info表的資訊將被全部查出

#外連線:left right

#關鍵字為right join 即查出 right join 左邊表的全部資料,就是address表的資訊將被全部查出

mysql多表連線

現有表r,s如下 select from r,s 結果 注 不需要任何條件。結果為兩張表函式相乘 3x3 9 自連線 select e.empno,e.ename,m.empno,m.ename from emp e,emp m where m.mgr e.empno 分為三種 交叉連線 內連線 外...

mysql 多表連線

現有表r,s如下 select from r,s 結果 注 不需要任何條件。結果為兩張表函式相乘 3x3 9 自連線 select e.empno,e.ename,m.empno,m.ename from emp e,emp m where m.mgr e.empno 分為三種 交叉連線 內連線 外...

Mysql 多表連線

2.1.2內連線 關鍵字 inner join on 說明 組合兩個表中的記錄,返回關聯字段相符的記錄,也就是返回兩個表的交集 陰影 部分。2.1.1外連線 左連線 左外連線 關鍵字 left join on left outer join on left join 是left outer join...