基本的select查询语句.pdf
文本预览下载声明
Sqlserver 基础教程系列3-基本的查询select 语句
作者:读书屋
网站:
我们通过前面的学习,已经把数据库与表搭建出来了, 存储数据不是目的,我们在使用数
据库的时候多数情况下就是按照不同条件获取数据库里面的数据,而我们sql 语法中 select
语句就主要是解决这个问题的。
我们分以下几方面去讲解
1. 基本的SELECT 查询语句
2. 查询FROM 子句的用法
3. 查询WHERE 子句进行简单的数据查询
4. 规范化查询语句
我们以下面这个teacher 表为依据讲解查询:
图1 示例表
1、查询select 所有列的信息,如下所示
语句:
SELECT * FROM teacher ;
解释:select 查询 from 表示从哪teacher 是数据库表的名称,而*代表是所有的列,合起来就
查询所有列从teacher 表中
2、查询某些列的信息
财务人员就想看一下每个人员的工资,在这情况下,如果查询所有列信息,效率就比较低了。
语句:
Select t_name,t_salary from teacher
解释:
我们以前用*代表所有列,现在直接写列名即可。每一列用逗号隔开
查询结果
3、取消重复元组,关键词Distinct
需求:我们想查询表中民族不重的有哪些
语句:
Select distinct mingzu from teacher
4、查询前N 行的信息
我们有一个表有多条记录,我们只想看最新几条记录的时候,就可以可以下面的语句实现。
a) Select top 3 * from teacher --解释:查询前三条记录的所有列
b) Select top 3 t_name,t_salary from teacher --解释:查询前三条记录的特定列信息
5、限定查询条件
可以在SELECT 语句中使用条件查询语句,即WHERE 子句查询。根据指定条件返回,运用比
较运算符可以查询条件进行限定:= = = !=
需求1、我们想看男教师的信息
语句:
Select * from teacher where t_sex=男
解释:
如果连接的数据类型不是数字时必须用单引号将比较运算符后面的数据引起
需求2、想看一下工资大于等于3000 的信息
Select * from teacher where t_salary=3000
6、范围运算符
我们可以通过BETWEEN 与NOT BETWEEN,主要用于查询是否在指定范围内的数据
语句:
Select * from teacher where t_no between 2 and 5 ――where 条件,哪个字段的什么区间
(between)的值
那么这样就查询出来在编号在2 到5 之间的信息。其实咱们可以把它理解为区间
7、逻辑运算符
可以满足用户在查询时指定多个查询条件,AND 表示当指定的所有查询条件都成立时则返
回 ,OR 表示当指定的所有查询条件只要有一个成立就返回结果集,NOT 表示否定查询条件
需求:查询男教师信息,并且工资要在3000 以上的。
语句1:
Select * from teacher where t_sex=男 and t_salary=3000
通过上面语句,我们既要满足是男教师,又要满足工资
语句2:
Select * from teacher where d_no=11 or d_no=03
这样查询的结果就是要么d_no 这一列编号是03 ,要么是11 的,查询结果如下图所示
8、字符匹配
运用LIKE 字符匹配可以对数据库进行模糊查询
语句1:
select * from teacher where t_name like 读书屋
语句2:
select * from teacher where t_name like %书%
我们在前后添加了%,%表示任意长度的字符串,这样的话,只要我们在姓句式中包括了书
的都可能被查询到,PS 我们更改了源表的内容,如下图所示
9、规范化查询
对于使用 SELECT 语句查询出的结果集,可以用 ORDER BY 子句对结果集的相应属性列进行
排序,ASC 表示升序,DESC 表示降序,默认为ASC.
需求:我们想看一下教师工资从高到低的一个顺序
语句:
SELECT * FROM teacher ORDER BY t_salary
显示全部