数据分析SQL | select&from查询语句, where语句
·
目录
1.select & from查询语句
-
select 字段名 决定这一段查询最后展示的字段
-
from 表名 指定这段查询语句涉及的数据来源
-
单行代码不需要加分号
-
多段代码加分号
//从world表中查询name,population,continent字段
SELECT name,population,continent FROM world
//查询所有字段
SELECT *FROM world
//设置别名
SELECT name AS 国家名, continent AS 大洲,population AS 人口 FROM world
//去重
SELECT distinct continent, area FROM world
//求平均
SELECT name, gdp, population, gdp/population 人均gdp FROM world
-
基础语法: select 字段名 from 表名
-
别名语法:select 字段名 as 别名 from 表名 【as可省略】
-
查询多列:select 字段名1,字段名2,字段名3 from 表名
-
查询所有列:select * from 表名
-
数据去重:select distinct 字段名 from 表名
-
select中的计算字段:select 字段名,计算字段 from 表名称
2.where
2.1where基本查询
-
select 字段名
-
from 表名
-
where 字段名 运算符 值
-
where限定查询行必须满足的条件
-
运算符汇总:
-
-
默认and优先级高于or,可用括号界定优先级
-
in用于查询指定条件范围内的数据,一般为in(xxx,xxx,xxx)
-
is null查询空值,注意与name='null'区分
-
//查询人口数至少2亿的国家名和人均gdp
SELECT name, gdp/population
FROM world
WHERE population >=200000000
//查询德国Germany的人口
SELECT population
FROM world
WHERE name='Germany'
//查询瑞典Sweden、挪威Norway和丹麦Denmark的国家名和人口
//记得加单引号
SELECT name, population
FROM world
WHERE name IN('Sweden','Norway','Denmark')
//查询面积area在250000和300000之间的国家名和面积
SELECT name, population
FROM world
WHERE area BETWEEN 250000 AND 300000
2.3where模糊查询
-
select 字段名
-
from 表名
-
where 字段名 like '通配符+字符'
-
通配符:%零个或多个字符,_匹配单个字符
//查询国家名中以C开头ia结尾的国家 SELECT name FROM world WHERE name LIKE 'C%ia' //查询国家名中第二个字符为't'的国家 SELECT name FROM world WHERE name LIKE '_t%' //查询国家名中含有两个o且被两个字符隔开的国家名 SELECT name FROM world WHERE name LIKE '%o__o%'
2.4where多条件查询
-
使用and或者or逻辑运算符对多个条件进行组合筛选想要的数据
//查询国家名中含有三个a且面积大于60万(600000)的国家及其面积
SELECT name,population
FROM world
WHERE name LIKE '%a%a%a%' AND area>600000
//查询国家名中含有三个a且面积大于60万(600000)的国家及其面积,或者人口大于13亿1300000000)日面积大于500万(5000000)的国家及其面积
SELECT name, area
FROM world
WHERE (name like '%a%a%a' and area>600000) OR (population>1300000000 AND area>5000000)
//查询瑞典Sweden、挪威Norway和丹麦Denmark的国家名和人口
//记得加单引号
SELECT name, population
FROM world
WHERE name='Sweden' OR name='Norway' OR name='Denmark'
//查询面积area在250000和300000之间的国家名和面积
SELECT name, population
FROM world
WHERE area>250000 AND area<300000
2.5where练习
//查询南美洲south america所有国家的名称以及它们以百万1000000为单位的人口数量
SELECT name,population/1000000 AS population_in_millions
FROM world
WHERE continent='south america' AND population>1000000
//查询1980年除诺贝尔化学奖和诺贝尔医学奖其余奖项获奖者的所有信息
SELECT *
FROM nobel
WHERE yr=1980 AND subject!='Medicine' AND subject!='Chemistry'
//WHERE yr=1980 AND subject NOT IN('Chemistry','Medicine')
//查询既包括有元音字母(a,e,i,o,u),同时国家名中没有空格的国家,最后显示他们的名字
SELECT name
FROM world
WHERE name LIKE '%a%'
AND name LIKE '%e%'
AND name LIKE '%i%'
AND name LIKE '%o%'
AND name LIKE '%u%'
AND name NOT LIKE '% %'
//查询1910年以前(不含1910)诺贝尔医学奖获得者和2004年及以后诺贝尔文学奖获得者的所有信息
SELECT *
FROM nobel
WHERE yr<1910 AND subject='Medicine' OR yr>=2004 AND subject='Literature'
更多推荐

所有评论(0)