美文网首页mysql
从零学会SQL:简单查询

从零学会SQL:简单查询

作者: 羋学僧 | 来源:发表于2021-07-15 19:33 被阅读0次

一、知识点

SELECT 检索数据

WHERE 过滤数据

二、实操练习

练习地址

0 SELECT basics

1、显示德国的人口
SELECT population
FROM world
WHERE name = 'Germany';
2、查询面积为5,000,000以上平方公里的国家,对每个国家显示它的名字和人均国内生产总值(gdp/population)
SELECT name, gdp/population
FROM world
WHERE area > 5000000;

3、显示“爱尔兰(Ireland)”,“冰岛(Iceland)”,“丹麦(Denmark)”的国家名称和人口

SELECT name,population 
FROM world
WHERE name IN('Ireland','Iceland','Denmark');

4、显示面积为200,000及250,000之间的国家名称和该国面积

SELECT name,area FROM world
WHERE area BETWEEN 200000 AND 250000;

1 SELECT name

1、找出以 Y 字母开头的国家名称

SELECT name 
FROM world 
WHERE name LIKE 'Y%';

2、找出以 Y 字母结尾的国家名称

SELECT name 
FROM world 
WHERE name LIKE '%Y';

3、找出所有国家名字中包括字母x

SELECT name 
FROM world 
WHERE name LIKE '%x%';

4、找出所有国家,其名字以 land 作結尾

SELECT name 
FROM world 
WHERE name LIKE '%land';

5、找出所有国家,其名字以 C 开始,ia 结尾

SELECT name 
FROM world 
WHERE name LIKE 'C%ia';

6、找出所有国家,其名字包括字母oo

SELECT name 
FROM world 
WHERE name LIKE '%oo%';

7、找出所有国家,其名字包括三个或以上的a

SELECT name 
FROM world 
WHERE name LIKE '%a%a%a%';

8、找出所有国家,其名字以t作第二个字母

SELECT name 
FROM world 
WHERE name LIKE '_t%' 
ORDER BY name;

9、找出所有国家,其名字都有两个字母 o,被另外两个字母相隔着

SELECT name 
FROM world 
WHERE name LIKE '%o__o%' ;

10、找出所有国家,其名字都是 4 个字母的

SELECT name 
FROM world 
WHERE name LIKE '____';

11、查找所有国家的名字,其首都和国家名字是相同的

SELECT name 
FROM world 
WHERE name = capital;

12、查找所有国家的名字,其首都是国家的名字加上” City”

SELECT name  
FROM world 
WHERE capital = concat(name, ' City');

13、找出所有首都和其国家名字,而首都要有国家名字中出现

SELECT capital, name 
FROM world 
WHERE capital LIKE concat('%',name,'%');

14、找出所有首都和其国家名字,而首都是国家名字的延伸。 你应显示 Mexico City,因它比其国家名字 Mexico 长。你不应显示 Luxembourg,因它的首都和国家名相是相同的。

SELECT name, capital 
FROM world 
WHERE capital LIKE concat('%',name,'_%');

15、"Monaco-Ville"是合并国家名字 "Monaco" 和延伸词"-Ville"。显示国家名字,及其延伸词,如首都是国家名字的延伸。

SELECT name,replace(capital, name, '') 
FROM world 
WHERE capital LIKE concat(name,'%_');

2 SELECT from World

1、查询name,continent,population列的数据

2、显示人口至少为2亿的国家的名称

SELECT name 
FROM world
WHERE population>200000000;

3、找出人口大于2亿的国家名字和人均生成总值

人均生产总值=gdp/国家人口数

SELECT name,gdp/population 
FROM world
WHERE population>=200000000

4、查找属于南美洲(South America)的国家名称,并将人口除以100万,以获得数百万人口数

SELECT name,population/1000000 
FROM world
WHERE continent='south america';

5、查找发过,德国,意大利(France, Germany, Italy)的国家名称和人口

SELECT name, population 
FROM world
WHERE name IN ('France', 'Germany', 'Italy');

6、查找国家名称中包含“United”的国家

SELECT name 
FROM world
WHERE name LIKE '%United%'

7、展示大国的名称,人口和面积。大国是指一个国家面积超过300万平方公里,或者人口超过2.5亿

下图带颜色部分全部满足条件

SELECT name,population,area 
FROM world
WHERE area>3000000 OR population>250000000;

8、展示大国的名称,人口和面积,排除同时面积大而且人口大的国家

下图带颜色部分全部,除去同时满足的部分

SELECT name,population,area 
FROM world
WHERE (area>3000000 AND population<=250000000) OR (area<=3000000 AND population>250000000);

9、查找南美洲(South America)的国家名称,人口数以百万表示(1后面6个0),gpd以十亿表示(1后面9个0)使用ROUND函数将值显示为两位小数

SELECT name,round(population/1000000,2),round(gdp/1000000000,2) 
FROM world
WHERE continent='South America';

10、查找gdp大于1万亿(100亿,即12个零)的国家的名称和人均GDP,并将人均DGP的值舍入到最接近的1000

SELECT name,round(gdp/population,-3) 
FROM world
WHERE gdp>1000000000000;

相关文章

  • 从零学会SQL:简单查询

    一、知识点 SELECT 检索数据 WHERE 过滤数据 二、实操练习 练习地址[https://igs.sqlz...

  • 从零学会SQL:复杂查询

    一、知识点 视图 子查询 函数 二、练习 1.创建视图 2.哪些学生的成绩比课程0002的全部成绩里的任意一个高呢...

  • 从零学会SQL:多表查询

    一、知识点 表的加法 联结 什么是联结 联结(JOIN)就是将其他表中的列添加进来,进行’添加列‘的集合运算UNI...

  • SQL关联子查询

    简单易懂教你学会SQL关联子查询 初学SQL的人都会觉得SQL的关联子查询难以理解,为什么?这是有原因的。 关联子...

  • 第4关《从零学会SQL:复杂查询》练习题答案

    这是《从零学会sql》系列课程第4节课《复杂查询》的练习题,也是常考常考的面试题。 题目来自sqlzoo的子查询题...

  • SQL查询语句

    常用SQL查询语句 一、简单查询语句 1. 查看表结构 SQL>DESC emp; 2. 查询所有列 SQL>SE...

  • sql

    sql语句 查询 简单查询 例: 多表连接查询 例: 2.更新

  • 从零学会SQL:入门

    一、什么是数据库(database) 数据库这个术语有很多,从SQL角度来看,数据库是以有组织的方式储存的数据集合...

  • 从零学会SQL:SQL高级功能

    一、知识点 窗口函数 group by 与 partition by 的区别 窗口函数rank, dense_ra...

  • mysql数据库查询语句

    1.简单的查询基本表的SQL语句 (1)查询语句 (2)查询语句 Student表的删除SQL语句: 选课表的操作...

网友评论

    本文标题:从零学会SQL:简单查询

    本文链接:https://www.haomeiwen.com/subject/xgtmpltx.html