文章目录
- 一、数据检索(查询)
- 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;
2.查询部分的列
-- 查询部分列
select EmpID,EmpName,EmpAge
from Employees
3.根据条件只查询部分列
--根据条件 只查询部分行
select *
from Employees
where EmpGender = '女'
4.给查询结果中的列起别名
-- 给查询结果集合中的列起别名
select
EmpID as 学生编号,
EmpGender as 学生性别,
EmpName as 学生姓名
from Employees
5.在查询结果中单独增加一列
select
EmpID 学生编号,
EmpGender 学生性别,
EmpName 学生姓名,
婚否='否'
from Employees
select
学生编号=EmpID ,
学生性别=EmpGender ,
学生姓名=EmpName ,
婚否='否'
from Employees
select
EmpID '(学生编号)',
EmpGender 学生性别,
EmpName 学生姓名
from Employees
6.获取当前的系统时间
-- 获取当前系统时间
select
当前系统时间=GETDATE()
7.distinct去掉重复的数据
--distinct 去掉重复的数据
select distinct *
from Employees -- ID是不同的
结果全部查出来了,因为ID是不相同的。
-- 去除重复前
select EmpName,EmpAge
from Employees
-- 去除重复后
select distinct EmpName,EmpAge
from Employees
8.Order by 排序
-- 按照年龄降序排序
select *
from Employees
order by EmpAge desc
-- 按照年龄升序排序 默认升序排序
select *
from Employees
order by EmpAge
9.Top关键字
-- Top 关键字
--查询年龄最大的前5名
select top 5 *
from Employees
order by EmpAge desc
-- 查询年龄最大的前4名 表达式要用括号括起来
select top (2*2) *
from Employees
order by EmpAge desc
-- 查询年龄最大的前30% 向上取整
select top 30 percent *
from Employees
order by EmpAge desc
二、带条件查询
1.全部的信息
select * from Employees
2.where … and…and …
-- 查询年龄在10-30岁之间的女同学
select * from Employees where EmpAge >=10 and EmpAge <=30 and EmpGender = '女'
3.where …between …and…
--Between...and ... 在...之间(闭区间,包含两个端点值)
select * from Employees where EmpAge between 10 and 30 and EmpGender = '女'
4.where … or
-- 查询出所有部门ID为3.4.5的那些学生
select * from Employees where DepID=3 or DepID=4 or DepID=5
5.where … in
select * from Employees where DepID in (3,4,5)
6. where …and
select * from Employees where DepID >=3 and DepID <=5
三、空值处理
– null 值无法用=或<>来进行比较
– 任何值和null计算之后还是null
-- 查询所有年龄是null的同学的信息
select * from Employees where EmpAge is null
-- 查询所有年龄不是null的同学的信息
select * from Employees where EmpAge is not null
没有什么事情是不可以面对的。