前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一张图了解数据库复杂查询

一张图了解数据库复杂查询

作者头像
开心鸭
发布2020-10-26 14:41:52
5080
发布2020-10-26 14:41:52
举报

SQL虽然看似非常简单,但是当他复杂起来的时候就可以加入视图,子查询,标量子查询,关联子查询和各种函数。

鸭哥带着你通过题目来了解以下知识点。

还是SqlZoo

【1】

列出每个国家人口这些国家大于俄罗斯的人口,因为要查询出一条数据并且进行对应,所以是一个非常简单又典型的标量子查询。

【2】

考察比较运算符,逻辑运算符,标量子查询,因为还是和英国一个国家比所以要用标量子查询,容易忽略的是有欧洲这个条件,要把where放到外部。

【3】

考察知识点 运算符in,这里很容易犯的错误是写成 “where continent =” 一定要注意这里是考察的运算符in

【4】

这道题有两个易错点,一个是between而不是大于号和小于号一起用,第二个是因为人口是多所以要+1

【5】

这题考察的是字符串拼接和四舍五入函数,因为函数有点多所以标点符号要注意,最好在ide里面编辑不然脑壳会晕,特别要注意要用round不然小数点后面会有很多。

【6】

考察ALL知识点,可以表示所有查询的结果。这里指的注意的是gdp>0一定要写因为有些GDP是空值,空值无法比较

【7】

这道题鸭哥犯了一个错误,题目要找出每个州最大的国家,但是鸭哥这样写就是找出比地球当中所有国家面积都大的国家,是一个错误。

第一步分析,他要找的是每个周最大,拆解成他要找同一个州里面的国家,他要找最大。

【8】

找出大洲内排名首位的国家,并且只有一个,遇到只有一个的题目用all,因为是首位所以是最小的那个用小于等于号。

【9】

这道题翻译有点坑爹,这道题意思是找出国家,这个国家所在的大洲里面的所有国家人数都要小于25000000人,所以我们首先匹配大洲,然后找出该大洲所有的国家,然后找出小于的,之后作为where的条件,返回就可以了。

【10】

这道题要注意子查询里面要排除要选出的州,不然最终结果就空了。

十道练习就到此为止了,鸭哥提醒大家要自己上Sqlzoo上去练习。

Practice make perfect!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 十道练习就到此为止了,鸭哥提醒大家要自己上Sqlzoo上去练习。
  • Practice make perfect!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档