MySQL任务二

本文介绍了SQL的基础概念及常用语句,包括SELECT FROM语句、去重、前N个语句、CASE...END判断语句、WHERE筛选语句等,并通过两个实战项目加深理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 导入示例数据库,教程 https://www.yiibai.com/mysql/how-to-load-sample-database-into-mysql-database-server.html

  2. SQL是什么?MySQL是什么?
    SQL:是Structure Query Languuage(结构化查询语言)的缩写。
    MySQL是一款免费开源,小型,关系型数据库管理系统。

  3. 查询语句 SELECT FROM
    语句解释:简单查询语句,关键字SELECT选择关键字段,from选择表
    去重语句:关键字DISTINCT去除重复数据
    在这里插入图片描述
    前N个语句:
    在这里插入图片描述
    CASE…END判断语句:CASE…END判断语句,用来根据查询数据新建一列。

  4. 筛选语句 WHERE
    语句解释:在大量数据中,只检索所需数据需要指定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。
    运算符/通配符/操作符:
    在这里插入图片描述

  5. 分组语句 GROUP BY
    聚集函数:SQL中数据可以按列名分组,搭配聚合函数十分实用。
    HAVING子句:第一步:执行FROM
    第二步:WHERE条件过滤
    第三步:GROUP BY分组
    第四步:执行SELECT投影列
    第五步:HAVING条件过滤
    第六步:执行ORDER BY 排序

  6. 排序语句 ORDER BY
    语句解释:指定的列对结果集进行排序,默认按照升序对记录进行排序
    正序、逆序:如果希望按照降序对记录进行排序,可以使用 DESC 关键字。

  7. 函数
    这个网站有以下函数汇总介绍在这里插入图片描述

  8. SQL注释
    9.单行注释:# 这是注释,只能放一行
    多行注释:/* 这里可以放很多行 */

  9. SQL代码规范

项目一:查找重复的电子邮箱(难度:简单)
创建 email表,并插入如下三行数据
±—±--------+
| Id | c |
±—±--------+
| 1 | a@b.com |
| 2 | c@d.com |
| 3 | a@b.com |
±—±--------+
– 创建表
create table email(
-> ID INT NOT NULL PRIMARY KEY,
-> email VARCHAR(255));

– 插入数据

INSERT INTO email VALUES(‘1’,‘a@b.com’);
INSERT INTO email VALUES(‘2’,‘c@d.com’);
INSERT INTO email VALUES(‘3’,‘a@b.com’);

编写一个 SQL 查询,查找 Email 表中所有重复的电子邮箱。
根据以上输入,你的查询应返回以下结果:
±--------+
| Email |
±--------+
| a@b.com |
±--------+
说明:所有电子邮箱都是小写字母。

– 简单的查询语言可以实现,解答如下:

Select Email
from email
group by email
having count(*)>1

项目二:查找大国(难度:简单)
创建如下 World 表
±----------------±-----------±-----------±-------------±--------------+
| name | continent | area | population | gdp |
±----------------±-----------±-----------±-------------±--------------+
| Afghanistan | Asia | 652230 | 25500100 | 20343000 |
| Albania | Europe | 28748 | 2831741 | 12960000 |
| Algeria | Africa | 2381741 | 37100000 | 188681000 |
| Andorra | Europe | 468 | 78115 | 3712000 |
| Angola | Africa | 1246700 | 20609294 | 100990000 |
±----------------±-----------±-----------±-------------±--------------+
如果一个国家的面积超过300万平方公里,或者(人口超过2500万并且gdp超过2000万),那么这
编写一个SQL查询,输出表中所有大国家的名称、人口和面积。
例如,根据上表,我们应该输出:
±-------------±------------±-------------+
| name | population | area |
±-------------±------------±-------------+
| Afghanistan | 25500100 | 652230 |
| Algeria | 37100000 | 2381741 |
±-------------±------------±-------------+
– 创建表
CREATE TABLE World (
name VARCHAR(50) NOT NULL,
continent VARCHAR(50) NOT NULL,
area INT NOT NULL,
population INT NOT NULL,
gdp INT NOT NULL);

– 插入数据
INSERT INTO World
VALUES(‘Afghanistan’,‘Asia’,652230,25500100,20343000);
INSERT INTO World
VALUES(‘Albania’,‘Europe’,28748,2831741,12960000);
INSERT INTO World
VALUES(‘Algeria’,‘Africa’,2381741,37100000,188681000);
INSERT INTO World
VALUES(‘Andorra’,‘Europe’,468,78115,3712000);
INSERT INTO World
VALUES(‘Angola’,‘Africa’,1246700,20609294,100990000);

输出:
Select name,population,area
from World
where population>25000000 or (area>3000000 and gdp>20000000);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值