SQL Server 数据库之单表查询
单表查询
- 1. 概述
- 2. 单表查询命令
- 2. 无条件查询与条件查询
- 2.1 无条件查询
- 2.2 条件查询
- 3. 聚集函数
- 4. 分组查询
- 5. 排序查询
1. 概述
单表查询是只对一个数据表进行查询操作,是其他查询的基础;
2. 单表查询命令
查询数据表的 SQL 命令为 SELECT
,语法格式如下:
SELECT [ALL|DISTINCT] <列名> [[AS] <列别名>] [, N]
FROM <表名> [[AS] <表别名>]
[WHERE <条件1>]
[GROUP BY <列名1> [HAVING <条件2>]]
[ORDER BY <列名2> [ASC|DESC]]
命令说明:
SELECT
语句的执行过程为:根据WHERE
子句的条件从FROM
子句指定的数据表中选取满足“条件 1”的元组,再按照SELECT
指定的列,投影得到所查询的结果表;若有GROUP BY
子句,则将查询结果按照“列名 1”进行分组,若后面有HAVING
子句,则只输出满足“条件 2”的元组;若有ORDER BY
子句,查询结果还要根据“列名 2”的值进行排序;DISTINCT
关键字表示去掉重复值,当不需要此项操作时可使用ALL
关键字或省略;- 当查询数据表中全部列时,可在“<列名>”处使用“*”符号;
AS
关键字表示数据表或其中的属性以设置的别名显示,当不需要此项操作时可将其省略;ASC
关键字表示升序,DESC
关键字表示降序,省略时默认为升序;
2. 无条件查询与条件查询
2.1 无条件查询
无条件查询指只包含 SELECT FROM
关键字查询,相当于只对关键做投影操作;
**注意:**无条件查询与关系代数中的投影操作有一点不同,投影操作会消去结果中的重复行,而无条件查询时必须加上 SISTINCT
关键字,否则将输出所有元组;
例子:从数据表 B 中查询所有学生的学号、姓名、性别、年龄;
SELECT ID,Name,Sex,Age
from B
查询数据表 N 中的属性 ID,Name,Sex,Age,其中包含了数据表 S 的主码,不需要附加 DISTINCT
关键字啊;
2.2 条件查询
条件查询指使用了 WHERE
子句的查询; WHERE
子句指定的条件通常由 3 部分组成,分别是列名、运算符和常数;
查询条件说明:
- 比较查询
例子:从数据表 B 中查询年龄大于 15 岁的学生
SELECT *
FROM B
WHERE Age>15
在 SELECT
后用“*”表示选数据表B中的所有元素;在 WHERE
子句中使用比较运算符构造查询条件,输出满足条件的元组;
- 多重条件查询
例子:从数据表 O中查询 ID 为 ‘2022090102’ 并成绩高于80分的学生的学号与成绩;
select 课程,ID,成绩
from O
where ID='2022090102' and 成绩>70
AND 关键字可以用来连接两条语句表示并列关系;
注意:AND
关键字的优先级高于OR
,但能用 “()”将部分括起来,改变它们之间的优先级;
- 确定范围查询
BETWEEN AND
表示“包含于······之中”,用来查询属性值在指定范围内的元组;
确定结合查询
IN
表示查询属性值属于指定集合的元组;字符匹配查询
当查询条件无法确定精确的值时,可使用LIKE
关键字进行匹配查询;
语法格式如下:<列名> LIKE <字符串常量>
<列名>
中指定的列的数据类型必须为字符型;<字符串常量>
中的字符串使用功能通配符时,对数据进行模糊查询;当不使用通配符时,LIKE
相当于“=”
;空值查询
不同于零和空表,空值不占用任何存储空间;
IS NOT NULL
表示查询某属性不为空的元组;
3. 聚集函数
SQL 中提供的聚集函数增强了期数据查询能力;
注意:
- 使用
COUNT(*)
函数时,无法使用DISTINCT
关键字消去重复行; - 使用函数查询数据时,若不设置列别名,输出结果的列名将显示为“(无列名)”
4. 分组查询
分组查询是指使用 GROUP BY
子句的查询, GROUP BY
子句表示将查询结果按相同的一个或多个列值进行分组;
以聚集函数为例,若没有使用 GROUP BY
子句,聚集函数将作用于整个数据表,而使用了 GROUP BY
子句中,聚集函数分别作用于每个组;
例子:从数据表 B 中查询 工商的学生人数;
select b,COUNT(ID) as Num
from B
group by b
使用 GROUP BY
子句将差选结果按照属性 b 进行了分组,使用 COUNT
函数可分别计算各组中列值的个数,并用 AS
关键字将它们以列别名为新列名输出查询结果;
提示: 分组查询时,SELECT
语句指定的每一列都应包含在 GROUP BY
子句中,除非对这一列使用聚集函数;因为在使用 GROUP BY
子句对 SELECT
后的多个列中的某一列进行分组时,可能会在其他列出现多个数据共同占用一个单元格的情况,这时 SQL Server 将会给出错误提示;聚集函数正是多个数据转换成单个数据输出的查询方式,所以聚集函数所调用的列可不包含在 GROUP BY
子句中;
5. 排序查询
排序查询,即施使用 ORDER BY
子句查询, ORDER BY
子句表示对查询结果进行排序,施一公你是必须写在其他子句中,排序的方式可以指定为 DESC,ASC或省略;
例子:从数据表 B查询 ID,Name,并安装Age大小降序排序;
select ID,Name,Age as Ti
from B
order by Ti desc
注意: 只有 ORDER BY
子句能调用列的别名;
SQL Server 数据库之单表查询相关推荐
- SQL sever数据库的单表查询和连接查询
数据库的单表查询和连接查询 一.目的: 掌握无条件查询的使用方法. 掌握条件查询的使用方法. 掌握库函数及汇总查询的使用方法. 掌握分组查询的使用方法. 掌握查询的排序方法. 掌握连接查询的使用方法. ...
- 用友U8的SQL SERVER 数据库结构说明表
用友U8的SQL SERVER 数据库结构说明表 在帐套中的两个表,一个表是RPT_GRPDEF,存放帐套中重要的表名及相关说明:另一个是RPT_ITMDEF,存放的是主要表中的相关字段说 ...
- 7.数据库-查-单表查询
7 .数据库-查-单表查询 因为查询有很多分支 所以分 单表查询 和 多表查询: 简单查询 1.1 SELECT语句 在MySQl中查询语句 最基本就是SELECT语句了,可以用不用的条件来查询表中的 ...
- sql server 数据库分区分表
sql server 数据库分区分表 作为演示,本文使用的数据库 sql server 2017 管理工具 sql server management studio 18,,创建数据库mytest,添 ...
- 清空SQL Server数据库中所有表数据的方法(转)
清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...
- mysql数据库实验3查询_MySQL数据库实验:任务三 数据库的单表查询设计
任务三 数据库的单表查询设计 文章目录任务三 数据库的单表查询设计[实训目的与要求][实训原理][实训步骤]一.简单查询二.按条件查询1.比较大小查询2.带in关键字的查询(确定集合)3.带BETWE ...
- mysql关键字使用顺序_MySQL数据库之单表查询中关键字的执行顺序
MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...
- 数据库实验3 数据库的单表查询
数据库的单表查询 3.1实验目的及要求 掌握简单表的数据查询.数据排序和表链接查询的操作方法 3.2实验内容 简单查询操作和连接查询方式. 3.3实验步骤 3.3.1单表查询: 1.查询全体学生的学号 ...
- sql server数据库备份单个表的结构和数据生成脚本
1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...
最新文章
- Swift3.0语言教程使用Unicode范式标准化获取字符串
- UA MATH564 概率论IV 次序统计量例题2
- openlayers基础(一)——Map
- python开发是不是苦累_Python 2.7 辛苦了,你好Python 3.7
- RabbitMQ(一):简介和基本概念
- c++强制类型转换运算符
- jvm类加载机制和类加载器_在JVM之下–类加载器
- Python+sklearn训练结果保存与加载(以垃圾邮件分类为例)
- java 获取本机信息,使用Java获取系统信息的常用代码整理总结
- Sklearn——Sklearn的介绍与安装
- 061 实例15-霍兰德人格分析雷达图
- linux的vi命令详解,linux vi命令详解
- 5教程 watchout_WATCHOUT大屏拼接融合系统
- html表单 当前年月日_HTML5表单
- VMware 虚拟机开启Ip地址自动更换解决
- java中使用poi导出ppt(图片和表格)
- 移动端设置overflow-x:hiden后scrollTop失效并一直为0
- 四年级下册计算机有错必改教案,小学四年级下册语文《步行18里》必
- 世界杯“引爆”东南亚电商狂潮,电商人如何选品和营销?
- Socks代理上网工具 tsocks