一、基本的查询语句

查询语句:select <列名1>,<列名2>,...

from <表名>;

使用查询语句,可以返回查询结果。

从student表中查询出姓名、性别两列。

SQL Server数据库查询单性别 sql查询姓名和性别_SQL Server数据库查询单性别

星号(*)表示查询出全部列。

SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_02

为列名设定别名as,如将student表中姓名列名改为“name”,性别改为“人类性别”

SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_03

删除重复数据distinct(截然不同的; 有区别的),删除重复数据。

SQL Server数据库查询单性别 sql查询姓名和性别_SQL Server数据库查询单性别_04

如果我们将distinct用于多列之前,数据并没有删除,如果多列的数据均完全相同的话才可以删除掉。

SQL Server数据库查询单性别 sql查询姓名和性别_字符串_05

如果在编辑器中写了多个运行语句,但只想运行其中一个,那就选中需要运行的语句,然后点击运行已选择的。如下图,运行已选择的语句后只显示出了性别的非重复项。


SQL Server数据库查询单性别 sql查询姓名和性别_运算符_06


二、指定查询条件

select <列名1>,<列名2>,...

from <表名>

where <条件>;

想查询姓名为“马云”的姓名及出生日期。


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_07


从该例子中可以看出SQL的运行顺序与书写顺序是不同的,

运行顺序:

1) from student(从student中查找数据)

2) where 姓名='马云'(查询出符合该条件的行)

3) select 姓名,出生日期(从上一步查询的行中选取出指定的列)


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_08


三、注释和sql语句注意事项


SQL Server数据库查询单性别 sql查询姓名和性别_运算符_09


SQL Server数据库查询单性别 sql查询姓名和性别_查询语句_10


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_11


四、运算符

共3中运算符:算数运算符、比较运算符、逻辑运算符

1)算数运算符

SQL Server数据库查询单性别 sql查询姓名和性别_字符串_12

讲除法运算及as一起使用,比如下图可显示出“百分比成绩”


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_13


2)比较运算符


SQL Server数据库查询单性别 sql查询姓名和性别_运算符_14


在表student中,我们查询出姓名不叫猴子的全部列


SQL Server数据库查询单性别 sql查询姓名和性别_查询语句_15


查询score表中,成绩大于等于80分的学号及成绩。


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_16


查询student表中出生日期大于1990-01-01的姓名及出生日期。这里注意输入条件中,要符合出生日期的格式。


SQL Server数据库查询单性别 sql查询姓名和性别_查询语句_17


如何查询出null值?


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_18


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_19


如何查询出' '值(空值)?


SQL Server数据库查询单性别 sql查询姓名和性别_查询语句_20


3)逻辑运算符


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_21

查询score表中,不是成绩小于等于80分的学号及成绩。


SQL Server数据库查询单性别 sql查询姓名和性别_查询语句_22

查询score表中,成绩大于等于60且成绩小于等于90的学号、成绩。

SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_23

查询姓名是'男'并且姓名是猴子或者马云的信息


SQL Server数据库查询单性别 sql查询姓名和性别_查询语句_24

查询score表中成绩在60<=成绩<=90的信息,需要注意的是:between运算符会包含两个边界的值。


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_25

查询score表中成绩小于80或者成绩大于90的信息。


SQL Server数据库查询单性别 sql查询姓名和性别_运算符_26

in是or的简便写法,查询student中姓名是猴子或者马云的信息。

SQL Server数据库查询单性别 sql查询姓名和性别_SQL Server数据库查询单性别_27

查询student中姓名既不是猴子也不是马云的信息。


SQL Server数据库查询单性别 sql查询姓名和性别_查询语句_28


五、字符串模糊查询

模糊查询:like

%表示任意字符串,如下图3个例子。注意%表示任意字符串,所以'王%'会查询出'王思聪'


SQL Server数据库查询单性别 sql查询姓名和性别_运算符_29


SQL Server数据库查询单性别 sql查询姓名和性别_SQL Server数据库查询单性别_30

-1个下划线代表任意1个字符,与%一定要区分开。如下图可充分理解1个下划线代表任意1个字符串的含义。

SQL Server数据库查询单性别 sql查询姓名和性别_运算符_31


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_32

查询姓“猴”的学生名单


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_33

查询姓名中最后一个字是“猴”的学生名单


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_34

查询姓名中带“猴”的学生名单


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_35

sqlzoo简单查询:


SQL Server数据库查询单性别 sql查询姓名和性别_运算符_36


SQL Server数据库查询单性别 sql查询姓名和性别_运算符_37


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_38


SQL Server数据库查询单性别 sql查询姓名和性别_SQL Server数据库查询单性别_39


sqlzoo运算符查询:


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_40


select name,continent,population
from world;


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_41


select name
from world
where population>200000000;


SQL Server数据库查询单性别 sql查询姓名和性别_查询语句_42


select name,gdp/polulation
from world
where population>200000000;


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_43


select name,population/1000000
from world
where name='South America';


SQL Server数据库查询单性别 sql查询姓名和性别_SQL Server数据库查询单性别_44


select name,population
from world
where name in ('France','Germany','Italy');


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_45


select name
from world
where name like '%United%';


SQL Server数据库查询单性别 sql查询姓名和性别_字符串_46


select name,population,area
from world
where area >3000000 or population>250000000;


SQL Server数据库查询单性别 sql查询姓名和性别_运算符_47

select name,population,area
from world
where (population>250000000 or area <=3000000) and (population<=250000000 or area >3000000);


SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_48

select name,round(population/1000000,2),round(gpd/1000000000,2)
from world
where continent='South America';

SQL Server数据库查询单性别 sql查询姓名和性别_查询显示注释_49


select name,round(gdp/population,-3)
from world
where gdp>1000000000000;

sqlzoo平台 select names(字符串模糊查询)

1.找出以 Y 字母开头的国家名称 
select name
from world
where name like 'Y%';
2.找出以 Y 字母结尾的国家名称
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%';
8.找出所有国家,其名字以t作第二个字母
select name
from world
where name like '_t%';
9.找出所有国家,其名字都有两个字母 o,被另外两个字母相隔着
select name
from world
where name like '%o__o%';
10.找出所有国家,其名字都是 4 个字母的
select name
from world
where name like '____';
11.查找所有国家的名字,其首都和国家名字是相同的
select name
from world
where name = capital;