MySQL之多表查詢

2021-10-07 22:12:25 字數 2512 閱讀 4880

準備資料:

#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)

); select *from address

select *from user_info

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','吉林長春');//無使用者資料

查詢表資料:

select * from address where user_id=(select id from user_info where user_name='ぅ浮生若夢〤')

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

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

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

#外連線:left right:根據left和right關鍵字:left-查詢出該關鍵字左邊表的所有資料;right-查詢出該關鍵字右邊表的所有資料;

MySql之多表查詢

select e.empname,d.deptname from emp e,dept d where e.deptno d.deptno select e.empname d.deptname from emp e inner join dept d on e.deptno d.deptno se...

MySQL之多表查詢

1合併結果集,使用關鍵字union和union all,其區別是union會去掉合併中重複的部分而union all不會去掉重複的列。使用這個關鍵字的要求結果姐的列和型別必須相同。定義兩個表如下所示 a和b,兩個表分別有乙個整型的id和乙個字串的name。1.1使用union all 1.2使用un...

MySQL之多表查詢

現在有兩個表,分別為department表和employee表,他們之間是沒有外來鍵關係的。兩個表分別有以下資料。我們可以通過笛卡爾積得到乙個新的虛擬的表。我們得到這個表之後,就可以用這錶取我們想要的資料。比如拿到技術部門的員工名字 其實鍊錶查詢和笛卡爾積差不多,只是笛卡爾積的鍊錶和查詢放在了一起,...