1.外连接
select * from emp e left join dept d on e.deptId=d.deptId
select * from emp e right join dept d on e.deptId=d.deptId
select * from dept d inner join emp e on d.deptId=e.deptId
select * from emp e left join dept d on e.deptId=d.deptId
union
select * from emp e right join dept d on e.deptId=d.deptId
2.exists存在 not exists不存在
-- in
select * from card where cardNo in (select cardNo from transinfo)
-- exists
select * from card c where exists (select * from transinfo t where t.cardNo=c.cardNo )
-- not in
select * from card where cardNo not in (select cardNo from transinfo)
-- not exists
select * from card c where not exists (select * from transinfo t where t.cardNo=c.cardNo )
3.用SQL录入数据(DML)
insert into user (userId,name)values('101','晓晓')
insert into user (userId,name)values('101','晓晓'),('102','晓')
create table u1 as (select * from user where city='北京')
insert into u1 (userId,name)(select userId,name from user where sex='男')
4.用SQL删除数据(DML)
delete from user where city='北京'
truncate table user
级联删除
主要用于主外键
cascade 级联删除,删除主键表中的数据,由数据库自动删除外键表中的相关数据
限制删除条数
delete from user where sex='男'limit 2
5.用SQL更新数据(DML)
update user set name='晓晓',city='北京' where userId='101'
update user set credit=credit+100 where credit<300
update user set credit =(select credit from user where name='晓晓') where userId='101'