sql

一.连接查询
1.内连接(join/inner join)
只有匹配时才显示

SELECT P.LastName, P.FirstName, O.OrderNo
FROM Persons P
INNER JOIN Orders O
ON P.Id_P = O.Id_P
ORDER BY P.LastName

2.左连接(LEFT JOIN)
这个好例子把table_name1所有行都显示

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

3.右连接(RIGHT JOIN)
这个好例子把table_name所有行都显示

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

二.联合查询

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

union会自动除去name1和name2中重复的部分,如果希望不除重用union all

三.子查询
1where子查询(把内查询当做条件)
查询所有分类为科技的文章标题

 "select title from t2 where categori_id = 
 (select categori_id from t1 where name ='科技')

查询所有成绩都>80分的人名

select distinct name from t3 where name not in
(select name from t3 where score <= 80)

2from子查询(把内查询的结果(内存里的一张表)当作一张临时表)

3exists子查询就是对外层表进行循环,再对内表进行内层查询。和in ()差不多,但是它们还是有区别的。主要是看两个张表大小差的程度。若子查询表大则用exists(内层索引),子查询表小则用in(外层索引)
4.mysql操作符

LIMIT  LIKE IN BETWEEN regexp(正则) ORDERBY DESC GROUPBY, 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值