单表查询

  • 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]]

命令说明:

  1. SELECT 语句的执行过程为:根据 WHERE子句的条件从FROM子句指定的数据表中选取满足“条件 1”的元组,再按照SELECT 指定的列,投影得到所查询的结果表;若有 GROUP BY 子句,则将查询结果按照“列名 1”进行分组,若后面有HAVING 子句,则只输出满足“条件 2”的元组;若有ORDER BY子句,查询结果还要根据“列名 2”的值进行排序;
  2. DISTINCT 关键字表示去掉重复值,当不需要此项操作时可使用 ALL关键字或省略;
  3. 当查询数据表中全部列时,可在“<列名>”处使用“*”符号;
  4. AS 关键字表示数据表或其中的属性以设置的别名显示,当不需要此项操作时可将其省略;
  5. 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 部分组成,分别是列名、运算符和常数;

查询条件说明:

  1. 比较查询
    例子:从数据表 B 中查询年龄大于 15 岁的学生
SELECT *
FROM B
WHERE Age>15


SELECT后用“*”表示选数据表B中的所有元素;在 WHERE子句中使用比较运算符构造查询条件,输出满足条件的元组;

  1. 多重条件查询
    例子:从数据表 O中查询 ID 为 ‘2022090102’ 并成绩高于80分的学生的学号与成绩;
select 课程,ID,成绩
from O
where ID='2022090102' and 成绩>70

AND 关键字可以用来连接两条语句表示并列关系;
注意:AND关键字的优先级高于OR,但能用 “()”将部分括起来,改变它们之间的优先级;

  1. 确定范围查询

BETWEEN AND表示“包含于······之中”,用来查询属性值在指定范围内的元组;

  1. 确定结合查询
    IN表示查询属性值属于指定集合的元组;

  2. 字符匹配查询
    当查询条件无法确定精确的值时,可使用 LIKE关键字进行匹配查询;
    语法格式如下:<列名> LIKE <字符串常量>
    <列名> 中指定的列的数据类型必须为字符型;<字符串常量>中的字符串使用功能通配符时,对数据进行模糊查询;当不使用通配符时,LIKE相当于“=”

  3. 空值查询
    不同于零和空表,空值不占用任何存储空间;
    IS NOT NULL 表示查询某属性不为空的元组;

3. 聚集函数

SQL 中提供的聚集函数增强了期数据查询能力;

注意:

  1. 使用 COUNT(*)函数时,无法使用 DISTINCT关键字消去重复行;
  2. 使用函数查询数据时,若不设置列别名,输出结果的列名将显示为“(无列名)”

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 数据库之单表查询相关推荐

  1. SQL sever数据库的单表查询和连接查询

    数据库的单表查询和连接查询 一.目的: 掌握无条件查询的使用方法. 掌握条件查询的使用方法. 掌握库函数及汇总查询的使用方法. 掌握分组查询的使用方法. 掌握查询的排序方法. 掌握连接查询的使用方法. ...

  2. 用友U8的SQL SERVER 数据库结构说明表

    用友U8的SQL SERVER 数据库结构说明表       在帐套中的两个表,一个表是RPT_GRPDEF,存放帐套中重要的表名及相关说明:另一个是RPT_ITMDEF,存放的是主要表中的相关字段说 ...

  3. 7.数据库-查-单表查询

    7 .数据库-查-单表查询 因为查询有很多分支 所以分 单表查询 和 多表查询: 简单查询 1.1 SELECT语句 在MySQl中查询语句 最基本就是SELECT语句了,可以用不用的条件来查询表中的 ...

  4. sql server 数据库分区分表

    sql server 数据库分区分表 作为演示,本文使用的数据库 sql server 2017 管理工具 sql server management studio 18,,创建数据库mytest,添 ...

  5. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  6. mysql数据库实验3查询_MySQL数据库实验:任务三 数据库的单表查询设计

    任务三 数据库的单表查询设计 文章目录任务三 数据库的单表查询设计[实训目的与要求][实训原理][实训步骤]一.简单查询二.按条件查询1.比较大小查询2.带in关键字的查询(确定集合)3.带BETWE ...

  7. mysql关键字使用顺序_MySQL数据库之单表查询中关键字的执行顺序

    MySQL数据库之单表查询中关键字的执行顺序 1 语法顺序 select distinct from where group by having order by limit 2 执行顺序 from ...

  8. 数据库实验3 数据库的单表查询

    数据库的单表查询 3.1实验目的及要求 掌握简单表的数据查询.数据排序和表链接查询的操作方法 3.2实验内容 简单查询操作和连接查询方式. 3.3实验步骤 3.3.1单表查询: 1.查询全体学生的学号 ...

  9. sql server数据库备份单个表的结构和数据生成脚本

    1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...

最新文章

  1. Swift3.0语言教程使用Unicode范式标准化获取字符串
  2. UA MATH564 概率论IV 次序统计量例题2
  3. openlayers基础(一)——Map
  4. python开发是不是苦累_Python 2.7 辛苦了,你好Python 3.7
  5. RabbitMQ(一):简介和基本概念
  6. c++强制类型转换运算符
  7. jvm类加载机制和类加载器_在JVM之下–类加载器
  8. Python+sklearn训练结果保存与加载(以垃圾邮件分类为例)
  9. java 获取本机信息,使用Java获取系统信息的常用代码整理总结
  10. Sklearn——Sklearn的介绍与安装
  11. 061 实例15-霍兰德人格分析雷达图
  12. linux的vi命令详解,linux vi命令详解
  13. 5教程 watchout_WATCHOUT大屏拼接融合系统
  14. html表单 当前年月日_HTML5表单
  15. VMware 虚拟机开启Ip地址自动更换解决
  16. java中使用poi导出ppt(图片和表格)
  17. 移动端设置overflow-x:hiden后scrollTop失效并一直为0
  18. 四年级下册计算机有错必改教案,小学四年级下册语文《步行18里》必
  19. 世界杯“引爆”东南亚电商狂潮,电商人如何选品和营销?
  20. Socks代理上网工具 tsocks

热门文章

  1. 塑料件燃烧性能测试标准 塑胶块垂直燃烧试验方法
  2. 什么是JWT令牌认证?
  3. 【STM32】新建工程模板及配置
  4. ListT用RemoveAt删除元素
  5. 曹健老师 TensorFlow2.1 —— 第三章 神经网络八股
  6. 乘信息化之势,QAD铸就航天模塑管理变革
  7. 究竟该考哪个版本的OCP证书
  8. 为了湖北人的幸福感,阿里巴巴提供了一站式政务服务
  9. 生活娱乐 冯增最牛的房车
  10. android利用MediaRecorder实现录音功能