mysql新手入门随笔4

40、子查询:出现在其他SQL语句里的SELECT语句

例如:SELECT sname,mark FROM student WHERE mark = (SELECT max(mark) FROM student);

SELECT sname,mark FROM student WHERE mark in (SELECT max(mark) FROM student);

等效于:SELECT sname,mark FROM student WHERE mark =any (SELECT max(mark) FROM student);

in等效于=any

not in等效于!=all <>all

 

41、多表连接查询

内连接:INNER JOIN,JOIN,CROSS JOIN,NATURAL JOIN

意思:两张表的交集,仅显示符合连接条件的记录,不符合的不显示

用法:SELECT a.*,b.* FROM pa a INNER JOIN pb b ON a.id = b.id;

 

()连接:LEFT (OUTER) JOIN

意思:显示左表全部和左右表中符合连接条件的记录

用法:SELECT a.*,b.* FROM pa a LEFT (OUTER) JOIN pb b ON a.id = b.id;

 

()连接:RIGHT (OUTER) JOIN

意思:显示右表全部和左右表中符合连接条件的记录

用法:SELECT a.*,b.* FROM pa a RIGHT (OUTER) JOIN pb b ON a.id = b.id;

 

MySQL里的全连接

SELECT a.*,b.* FROM pa a LEFT (OUTER) JOIN pb b ON a.id = b.id

UNION

SELECT a.*,b.* FROM pa a RIGHT (OUTER) JOIN pb b ON a.id = b.id;

 

UNION:会对结果去重

UNION ALL:不会对结果去重

 

转载于:https://www.cnblogs.com/king8/p/8664613.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值