目录

1.select & from查询语句

2.where

2.1where基本查询

2.3where模糊查询

2.4where多条件查询

2.5where练习


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
  1. 基础语法: select 字段名 from 表名

  2. 别名语法:select 字段名 as 别名 from 表名 【as可省略】

  3. 查询多列:select 字段名1,字段名2,字段名3 from 表名

  4. 查询所有列:select * from 表名

  5. 数据去重:select distinct 字段名 from 表名

  6. 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'

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐