.
可编辑 数据查询(检索)
一、 简单查询(单张表)
字段筛选
输出全部列 select *
select 输出部分列 select 列名…
记录筛选 比较运算符 > < = != !> !< >= <= <>
Where 逻辑运算符 and or
范围运算符 Between小值and 大值
列表运算符 In(值1,值2,….)
模糊匹配运算符 Like ‘通配表达式’
空值运算符 is null
关键字辅助 distinct select distinct 列名…
Top select top n 列名…
二、 高级查询(多张表)
一、 简单查询
1、 基本语法格式
结合实现的查询功能
1) 输出表的全部列(全部行、列)
查找所有客户的基本信息(查看客户信息表)
use spgl
go
select 客户编号,客户姓名,联系电话,地址,邮箱
from 客户信息表 .
可编辑 use spgl
go
select *
from 客户信息表
.
可编辑 2) 输出表的部分列
查找所有客户的姓名(查看客户信息表的姓名列)
select 客户姓名
from 客户信息表
查找所有商品的编号(查看商品信息表的商品编号列)
select 商品编号
from 商品信息表 .
可编辑
3) 输出表中满足条件的记录
--查找所有单位是“个”的商品的编号(查看商品信息表的商品编号列)
select 商品编号
from 商品信息表
where 商品单位='个' .
可编辑
查找11110001商品的销售信息(查看销售信息表的商品编号为指定值的这些行,相当于进行条件筛选)
select *
from 销售信息表
where 商品编号=11110001 .
可编辑 --查找11110001和11110003商品的销售信息
select *
from 销售信息表
where 商品编号=11110001 or 商品编号=11110003
.
可编辑 --查找11110001商品的销售信息,要求只显示数量大于的信息
select *
from 销售信息表
where 商品编号=11110001 and 销售数量>100
查找11110001商品的销售给哪些客户
select 客户编号
from 销售信息表
where 商品编号=11110001 .
可编辑
上述查询中涉及到:表,表中字段,查询条件
格式:select *︱列名称1, 列名称2….
From 表名称
Where 条件表达式
注意:列名称必须是from子句指定表中的列
Select进行的纵向的选择(只决定输出哪些列),当输出的列是表中全部列且列顺序一致时,可用“*”
Where进行的横向的选择(决定输出哪些行)
2、 关键字
1) Distinct
格式:
Select distinct 列名称 .
可编辑 From 表名
--有哪些客户订过货
--分析:当客户编号出现在销售信息表中就表明该客户订过货
--1、明确从哪张表查询;、明确输出哪些列;、明确是否进行行筛选
--由于客户可以多次订货,所以不需要显示多次可以使用distinct
use spgl
go
select distinct 客户编号
from 销售信息表
.
可编辑 --有哪些客户订过货,以及他们分别订了哪些商品
use spgl
go
select distinct 客户编号,商品编号
from 销售信息表
注意:该关键字只针对输出结果的整行,不是某个字段。
2) Top
格式:
Select top n 列名称
From 表名
--查看数据库中进货信息储存了哪些内容
--分析: 只是要看看有哪些列,所以只需要显示几行就够 .
可编辑 select top 10 percent *
from 进货信息表
3、 where子句
运算符名称 运算符 作用
范围运算符 Between…and… 判断指定的列值是否在指定的范围
列表运算符 in 判断列值是否是列表中的值
模糊匹配运算符 Like 判断列值是否与指定的字符通配格式相符
空值运算符 Is null 判断列值是否为空
逻辑运算符 And or 连接多个条件表达式
比较运算符 >,<,>=,<=,=,!=,<>,!>,!<
1) 范围运算符
Where 列名称 [not] Between 初始值 and 终止值
--查看销售金额在100-300的商品编号
select 商品编号 .
可编辑 from 销售信息表
where 销售金额 between 100 and 300
where 销售金额>=100 and 销售金额<=300
2) in
where 列名称 in(值1,值2……)
--查看和两种货品的销售情况
select *
from 销售信息表
where 商品编号 in(11110001,22220001)
where 商品编号=11110001 or 商品编号=22220001 .
可编辑
3)like
Where 列名称 like ‘字符通配格式’
--查找商品类型是S开头的商品类型信息
select *
from 商品类型表
where 商品类型编号 like 'S_____' .
可编辑
4)IS NULL
Where 列名称 is null
--检查客户中邮箱还未填写的客户有哪些,联系他
select 客户姓名,联系电话
from 客户信息表
where 邮箱 is null .
可编辑