SQL简单查询

目录内容

  • 基本的查询语句
  • 指定查询条件
  • 注释和SQL语句注意事项
  • 运算符
  • 字符串模糊查询
  • 练习题
  • 总结

一.基本的查询语句(select from)

select 列名1 as 别名,列名2....
from 表名


sql server相除 sql语句中除以_sql server相除


二.指定查询条件(where 结合运算符)

select 列名1,列名2
from 表名
where 查询条件....

sql server相除 sql语句中除以_sql_02


三.注释和SQL语句注意事项

注释要注意:


sql server相除 sql语句中除以_sql_03

写SQL语句时要注意:


sql server相除 sql语句中除以_sql 除以_04


sql server相除 sql语句中除以_sql_05


四.运算符

练习题中有案例

  • 算术运算符(+,-,*,/)
  • 比较运算符(<,>,=,<=,>=,<>)
  • 逻辑运算符(not ,and,between,or,in)

五.字符串模糊查询

习题中有案例

关键字:like ; '%'表示任意字符,'_' 表示任意1个字符


sql server相除 sql语句中除以_sql_06


sql server相除 sql语句中除以_运算符_07


六.练习题

6.1、sqlzoo平台 select basic(简单查询)

网址:https://sqlzoo.net/wiki/SELECT_basics/zh;


sql server相除 sql语句中除以_sql 除以_08


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 '____';


七.总结


sql server相除 sql语句中除以_SQL_09


结束语:基础一定要打扎实!