SQL任务1

之后会陆续有MySQL的文章推出来,一部分是以任务的形式展示,还有一部分是以知识普及的形式展示。任务形式的展示要感谢datawhale的帮助,是他们让我开始用CSDN进行知识分享。也希望之后能够在这里写下更多的其他分享文章。

SQL任务1

此部分知识范围

因为本身已经对SQL有一定了解,所以不在这里展开。之后会专门在SQL知识普及中进行介绍。欢迎关注!

1.数据库基础知识
数据库定义
关系型数据库
二维表


主键
外键

2.MySQL数据库管理系统
数据库
数据表
视图
存储过程

  1. SQL是什么?MySQL是什么?

  2. 查询语句 SELECT FROM

    语句解释
    去重语句
    前N个语句
    CASE…END判断语句

  3. 筛选语句 WHERE

    语句解释
    运算符/通配符/操作符

  4. 分组语句 GROUP BY

    聚集函数
    语句解释
    HAVING子句

  5. 排序语句 ORDER BY

    语句解释
    正序、逆序

  6. 函数

    时间函数
    数值函数
    字符串函数

  7. SQL注释

  8. SQL代码规范

    [SQL编程格式的优化建议] https://zhuanlan.zhihu.com/p/27466166
    [SQL Style Guide] https://www.sqlstyle.guide/

作业

项目一:查找重复的电子邮箱(难度:简单)

创建 email表,并插入如下三行数据

IdEmail
1a@b.com
2c@d.com
3a@b.com

编写一个 SQL 查询,查找 Email 表中所有重复的电子邮箱。
根据以上输入,你的查询应返回以下结果:

Email
a@b.com

说明:所有电子邮箱都是小写字母。

一种解决方法是:

还有一种解决方法:

在这里插入图片描述

很显然第二种方法在写法上就复杂了很多。这告诉我们,能够使用group by的话,就可以考虑是不是能够进一步用上having,尤其是我们需要groupy by之后的结果作为筛选条件的时候。

项目二:查找大国(难度:简单)

创建如下 World 表

namecontinentareapopulationgdp
AfghanistanAsia6522302550010020343000
AlbaniaEurope28748283174112960000
AlgeriaAfrica238174137100000188681000
AndorraEurope468781153712000
AngolaAfrica124670020609294100990000

如果一个国家的面积超过300万平方公里,或者(人口超过2500万并且gdp超过2000万),那么这个国家就是大国家。
编写一个SQL查询,输出表中所有大国家的名称、人口和面积。
例如,根据上表,我们应该输出:

namepopulationarea
Afghanistan25500100652230
Algeria371000002381741

解法如下:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值