Mysql 表连接和子查询

内连接

两种语法规则:

select table1.column,table2.column
from table1,table2
where table1.column1 = table2.column2;

通过外键字段:
select table1.column,table2.column
from table1 inner join table2 on table1.column1 = table2.column2;

一张表里数据有关联,通过增加别名的方式,来建立内连接,比如一张员工表里有上下级的关系:

select t1.empno,t1.name,t2.empno,t2.name
from emp as t1 join emp as t2
on t1.MGR = t2.WMPNO;

外链接

左外链接left

两个表在连接过程中除返回满足连接条件外,还返回左表中不满足条件的行。

select deptno,dname,empno,ename,job
from dept left outer jion emp using(depno);
outer可省略,using里连接的字段一定要相同;
或者在外连接查询语句 jion前加left;

右外链接right

两个表在连接过程中除返回满足连接条件外,还返回右表中不满足条件的行。

全外连接full

两个表在连接过程中除返回满足连接条件外,还返回两表中不满足条件的行。

子查询

select 字段列表 from table 
where 表达式 operate(select 字段列表 from table);

主查询使用子查询查询的结果,根据子查询的结果写主查询的语句

如果返回的是单行单列的,一般是在where后使用
如果子查询返回的结果是多行,可以使用all(和子查询返回的所有结果作比较),any(和子查询返回的任意一个结果作比较),in(等于放回值得任意一个)。 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值