文章目录

  • 一、数据检索(查询)
  • 1.查询所有行的所有列
  • 2.查询部分的列
  • 3.根据条件只查询部分列
  • 4.给查询结果中的列起别名
  • 5.在查询结果中单独增加一列
  • 6.获取当前的系统时间
  • 7.distinct去掉重复的数据
  • 8.Order by 排序
  • 9.Top关键字
  • 二、带条件查询
  • 1.全部的信息
  • 2.where ... and...and ...
  • 3.where ...between ..and...
  • 4.where ... or
  • 5.where ... in
  • 6. where ...and
  • 三、空值处理


一、数据检索(查询)

1.查询所有行的所有列

select * from Employees;

数据库 and条件走索引吗 数据库按条件查询_sqlserver

2.查询部分的列

-- 查询部分列
select EmpID,EmpName,EmpAge 
from Employees

数据库 and条件走索引吗 数据库按条件查询_数据_02

3.根据条件只查询部分列

--根据条件 只查询部分行
select * 
from Employees
where EmpGender = '女'

数据库 and条件走索引吗 数据库按条件查询_数据_03

4.给查询结果中的列起别名

-- 给查询结果集合中的列起别名
select 
	EmpID as 学生编号,
	EmpGender as 学生性别,
	EmpName as 学生姓名 
from Employees

数据库 and条件走索引吗 数据库按条件查询_数据库_04

5.在查询结果中单独增加一列

select 
	EmpID 学生编号,
	EmpGender 学生性别,
	EmpName  学生姓名,
	婚否='否'
from Employees
select 
	学生编号=EmpID ,
	学生性别=EmpGender ,
	学生姓名=EmpName ,
	婚否='否'
from Employees

数据库 and条件走索引吗 数据库按条件查询_数据库_05

select 
	EmpID '(学生编号)',
	EmpGender 学生性别,
	EmpName  学生姓名 
from Employees

数据库 and条件走索引吗 数据库按条件查询_数据库 and条件走索引吗_06

6.获取当前的系统时间

-- 获取当前系统时间
select 
   当前系统时间=GETDATE()

数据库 and条件走索引吗 数据库按条件查询_数据_07

7.distinct去掉重复的数据

--distinct 去掉重复的数据
 select distinct *
 from Employees  -- ID是不同的

数据库 and条件走索引吗 数据库按条件查询_数据_08


结果全部查出来了,因为ID是不相同的。

-- 去除重复前
 select EmpName,EmpAge
 from Employees

数据库 and条件走索引吗 数据库按条件查询_sqlserver_09

-- 去除重复后
 select distinct EmpName,EmpAge
 from Employees

数据库 and条件走索引吗 数据库按条件查询_sqlserver_10

8.Order by 排序

-- 按照年龄降序排序
select * 
from Employees 
order by EmpAge desc

数据库 and条件走索引吗 数据库按条件查询_sqlserver_11

-- 按照年龄升序排序  默认升序排序
select * 
from Employees 
order by EmpAge

数据库 and条件走索引吗 数据库按条件查询_数据库 and条件走索引吗_12

9.Top关键字

-- Top 关键字
 --查询年龄最大的前5名
 select top 5 * 
 from Employees
 order by EmpAge desc

数据库 and条件走索引吗 数据库按条件查询_sqlserver_13

-- 查询年龄最大的前4名  表达式要用括号括起来
 select top (2*2) * 
 from Employees
 order by EmpAge desc

数据库 and条件走索引吗 数据库按条件查询_系统时间_14

-- 查询年龄最大的前30% 向上取整
 select top 30 percent * 
 from Employees
 order by EmpAge desc

数据库 and条件走索引吗 数据库按条件查询_sqlserver_15

二、带条件查询

1.全部的信息

select * from Employees

数据库 and条件走索引吗 数据库按条件查询_sqlserver_16

2.where … and…and …

-- 查询年龄在10-30岁之间的女同学
select * from Employees where EmpAge >=10 and EmpAge <=30 and EmpGender = '女'

数据库 and条件走索引吗 数据库按条件查询_数据_17

3.where …between …and…

--Between...and ... 在...之间(闭区间,包含两个端点值)
select * from Employees where EmpAge between 10 and 30 and EmpGender = '女'

数据库 and条件走索引吗 数据库按条件查询_sqlserver_18

4.where … or

-- 查询出所有部门ID为3.4.5的那些学生
select * from Employees where DepID=3 or DepID=4 or DepID=5

数据库 and条件走索引吗 数据库按条件查询_数据库_19

5.where … in

select * from Employees where DepID in (3,4,5)

数据库 and条件走索引吗 数据库按条件查询_数据库 and条件走索引吗_20

6. where …and

select * from Employees where DepID >=3 and DepID <=5

数据库 and条件走索引吗 数据库按条件查询_数据_21

三、空值处理

– null 值无法用=或<>来进行比较
– 任何值和null计算之后还是null

-- 查询所有年龄是null的同学的信息
select * from Employees where EmpAge is null

数据库 and条件走索引吗 数据库按条件查询_系统时间_22

-- 查询所有年龄不是null的同学的信息
select * from Employees where EmpAge is not null

数据库 and条件走索引吗 数据库按条件查询_数据库 and条件走索引吗_23

没有什么事情是不可以面对的。