SQL入门笔记

练习网站:https://sqlbolt.com/lesson/filtering_sorting_query_results
excel

法则

  • col:属性
  • SELECT col,col,col 属性
  • FROM table 表
  • WHERE col 条件

案例:

# 找出所有电影id和title
select ld from movies where 1;
select title from movies where 1;

条件查询

数字:

操作解释
=,!=,<,>,<=,>=等于,小于,大于
BETWEEN … AND …在X和X之间
NOT BETWEEN … AND …不在X和X之间
IN (…)在集合内
NOT IN (…)不在集合内
# 找出2010年的电影,只显示名字和年份
select title,year from movies where year=2010
# 找出id在3-6之间的
select title from movies where id between 3 and 6
select title from movies where id in (3,4,5,6)
select title from movies where id>=3 and id<=6

字符串:

操作解释
=,!=,like,not like等于,不等于
%通配符
-模糊匹配单字符
in(…), not in(…)在不在集合中
# 找出Toy Story系列的所有电影
select title from movies where title like "%Toy Story%"

对查询结果排序

按id排序,只取第2-6select * from movies where 1 order by Id desc limit 4 offset 2
操作解释
order by排序
asc升序
desc降序
limit显示结果数量
offset从第几个结果开始显示

多表关联

先连接表,再用单表操作

select *
from table1 left join table2 on table1.id=table2.movie_id
where 1
操作解释
join … on …连接两张表
left join以左边为主,保留t1所有row
right join以右边为主,保留t2所有row
inner join只保留公共部分,保留相等id的row
is/is not nullcol是不是为空

在查询中使用表达式

对查询结果做计算

操作解释
±*/%四则混合运算
substr字符串截取 substr(col,0,4)
ascol取别名
select id,title,timelong/60 as timehour
from movies
where 1

统计

操作解释
count(col)统计
min(col)最小值
max(col)最大值
avg(col)平均
sum(col)求和
group by分组
having分组后条件
按年份分组统计电影总数
select year,count(Id) as total
from movies
where 1
group by year;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值