SQL简单查询
目录内容
- 基本的查询语句
- 指定查询条件
- 注释和SQL语句注意事项
- 运算符
- 字符串模糊查询
- 练习题
- 总结
一.基本的查询语句(select from)
select 列名1 as 别名,列名2....
from 表名
二.指定查询条件(where 结合运算符)
select 列名1,列名2
from 表名
where 查询条件....
三.注释和SQL语句注意事项
注释要注意:
写SQL语句时要注意:
四.运算符
练习题中有案例
- 算术运算符(+,-,*,/)
- 比较运算符(<,>,=,<=,>=,<>)
- 逻辑运算符(not ,and,between,or,in)
五.字符串模糊查询
习题中有案例
关键字:like ; '%'表示任意字符,'_' 表示任意1个字符
六.练习题
6.1、sqlzoo平台 select basic(简单查询)
网址:https://sqlzoo.net/wiki/SELECT_basics/zh;
name:国家名称
continent:该国家属于哪个洲
area:面积
population:人口
gdp:国内生产总值
1、修改例子,以显示‘德国’的人口
SELECT population
FROM world
WHERE name = 'Germany'
2.查询面积为5000000以上平方公里的国家的国家名字,人均国内人均生产总值
先用where 子句 锁定 面积5000000以上的国家有哪些 即where area>5000000(用到运算符),在对这些国家进行国家名称,人均生产总值(gdp/population)as 人均生产总值
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.显示面积为200000及250000之间的国家名称和它的面积
SELECT name,area FROM world
WHERE area between 200000 AND 250000;
6.2、sqlzoo平台 select from world(运算符练习)
网址:
SQLZOO:SELECT from WORLD Tutorial/zh;
1、显示所有国家名称、州名称、国家人口
select name,continent,population
from world;
2.显示人口至少2亿的国家/地区 的名称
SELECT name FROM world
WHERE population>200000000
3.查询出人口至少2亿的国家名称、人均生产总值
SELECT name ,gdp/population
FROM world
WHERE population>=200000000
4.查询南美洲国家名称、百万为单位的人口数量
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.美國、印度和中國(USA, India, China)是人口又大,同時面積又大的國家。排除這些國家。
顯示以人口或面積為大國的國家,但不能同時兩者。顯示國家名稱,人口和面積。
(大国的定义:面积大于300万平方公里或者人口超过2.5亿)
这个题的意思是 1、要么面积大于300万平方公里,但是 同时 人口小于2.5亿 (and)
或者(OR)
2.要么人口超过2.5亿,但是 同时 面积要小于300万平方公里 (and)
两个条件满足一个就可以 ,两个and 条件 若于 or 所以 要用括号 以声明先后顺序
select name,population,area
from world
where (area>3000000 and population<=250000000)or(area<=3000000 and population>250000000);
9.除以為1000000(6個零)是以百萬計。除以1000000000(9個零)是以十億計。使用 ROUND 函數來顯示的數值到小數點後兩位。
對於南美顯示以百萬計人口,以十億計2位小數GDP。
select name,round(population/1000000,2),round(gdp/1000000000,2)
from world
where continent='South America';
6.3、(选做)sqlzoo平台 select names(字符串模糊查询)
网址:https://sqlzoo.net/wiki/SELECT_names/zh;
1.找出以 Y 字母开头的国家名称
SELECT name FROM world
WHERE name LIKE 'Y%'
2.找出以 Y 為結尾的國家。
2.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 '____';
七.总结
结束语:基础一定要打扎实!