MySQL联表

-- 自联表

-- 建立salf_join_students表并向其中输入数据
create table salf_join_students(
sid varchar(10) primary key,
sname varchar(20) not null,
monitor_sid varchar(10) not null
);

insert into salf_join_students(sid,sname,monitor_sid) values
('s1','小石','s1'),
('s2','小张','s1'),
('s3','小王','s2'),
('s4','小黄','s3'),
('s5','小咪','s4'),
('s6','小徐','s6');

-- 直接联表,不加联表条件
-- 直接这么写会报错,因为from后边的两张表,或者主表和副标名字是一样的
select * from salf_join_students,salf_join_students;
-- 这种情况下,必须对其中至少一张表起别名
select * from salf_join_students,salf_join_students as salf_join_students2;
-- 添加上联表条件
select * from salf_join_students 学生,salf_join_students 班长
   where 学生.monitor_sid = 班长.sid;
select * from salf_join_students s join salf_join_students m on s.monitor_sid=m.sid;

-- 展示内联和外联
insert into join_classes (cid,cname) values ('c8','小何');
insert into join_students (sid,cid,sname)values('s7','c15','小任');

-- 内联查询
select * from join_classes c inner join join_students s on c.cid = s.cid;
-- 左外联 
select * from join_classes c left outer join join_students s on c.cid = s.cid;
select * from join_classes c left join join_students s on c.cid = s.cid;

-- 右外联
select * from join_classes c right outer join join_students s on c.cid = s.cid;
select * from join_classes c right join join_students s on c.cid = s.cid;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值