天天看点

sql 除以_sql查询,简单有序

sql 除以_sql查询,简单有序

又和小海豚见面了,虽然是通过navicat见的。对sql查询最大的感受就是简单有序:语句简洁,一个where,一个select就直奔主题;有序,按照顺序进行,读取顺序和书写顺序并不相同。第一步,先读from:找到表,即找到组织;第二步读where,看看查询条件是啥,这任务逻辑是否清楚?第三步,读select,看看是去哪列完成任务?

1. sql简单查询语句

主要语句如下图。

sql 除以_sql查询,简单有序

2.练习错误汇总

练习sqlzoo的select basics及quiz部分,无差错。 SELECT from WORLD Tutorial和quiz部分,错题总结如下。

SELECT from WORLD Tutorial部分:

3. Give the

name

and the

per capita GDP

for those countries with a

population

of at least 200 million.

这一题做错了:

第一次,我写了所有用到计算的列,并且新的列名per capita GDP没有加单引号。系统报错,

第二次,新列名加了单引号,‘per capita GDP’,但我以为所有用到计算的列都需要select,系统报错。

第三次,删除了多余列,只写name和新建的列名,终于正确。结果如下图。

sql 除以_sql查询,简单有序

5.显示France, Germany, Italy的name和population

第一次,我写错了,如下。and是三个条件都具有,显然没有这样的name,所以只返回name和population列名,无结果。

sql 除以_sql查询,简单有序

第二次,我修改了where语句,意识到用in即可展示三个国家的情况,运行成功。

sql 除以_sql查询,简单有序

6.显示含有United的国家名称

使用like 'United%'即可,因为常识告诉我,国家名称United只会在前面,所以用'United%'而和'%United%'都可以,但'%United'不对,因为国家名称没有United位置在后的。正确结果如下。

sql 除以_sql查询,简单有序

7.找到大国家:人口大于250w或者面积大于300w平方公里

使用where 条件1 or 条件2,满足一个条件即可。答案如下。

sql 除以_sql查询,简单有序

8.找到7中的大国家,但不包括2个条件都满足的

学到了新的条件判断:xor。where 条件1 or 条件2,包括三种结果:满足任一条件,以及2个条件都满足。xor:仅满足任一条件。语句及结果如下。

sql 除以_sql查询,简单有序

9.使用百万和十亿表示人口和gdp在南美的国家,并精确到小数点后两位。

学到了round函数:round(f,p),表达f后面的p个小数位。从错误中学到的注意事项:

  • round直接写在select后面,不需要再写列名,列名会按照f显示
  • round之间用逗号
  • round结束后不要写逗号,继续换行写from

错误展示:round结束后写了逗号

sql 除以_sql查询,简单有序

正确代码:

sql 除以_sql查询,简单有序

10.round函数应用:显示人均gdp,以1000为单位,且gdp至少为1万亿的国家。

错误注意:

  • round语句里面除/1000,然后在round结束后(此时变为除1000后的整数)*1000,此时结果才会以1000为单位。
  • 有条件,gdp>=1万亿。

正确语句:

sql 除以_sql查询,简单有序

11.length()函数:找到国家名和首都名的字符长度相同的国家。正确语句如下。

sql 除以_sql查询,简单有序

12.left(f,n)函数:取f中左边起n个字符,可作为比较。找到国家和首都第一个字母相同的,显示国家和首都,排除国家名和首都完全一样的。

sql 除以_sql查询,简单有序

13. like ‘%字符’的多条件应用:找到同时含有aeoiu字母的国家名称,且不能含有两个单词。

sql 除以_sql查询,简单有序
quiz部分:
sql 除以_sql查询,简单有序

题目解析,sql语句读取顺序:

第一步,读取from语句,从world表中查询

第二步,读取where语句,查询条件是population小于10000

第三步,读取select语句,选择name和population列,其中population列除以10显示。