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