使用SQL语句实现数据查询操作

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 本次实验主要介绍如何在RDS-SQLServer数据库中,使用使用SQL语句实现数据查询操作

使用SQL语句实现数据查询操作

1. 数据查询

本次实验环境基于DMS数据库实验室的RDS-SQL Server,前往并登录DMS数据库实验室

SELECT语句是T-SQL从数据库中获取信息的一个基本语句。该语句可以实现从一个或多个数据库的一个或多个表中查询信息,并将结果显示为另外一个表(结果集)的形式。

  • SELECT语句的基本语法格式:

SELECT <select_list>

[FROM <table_source>]

[WHERE <source_condition>]

[GROUP BY <group_by_expression>]

[HAVING <search_condition>]

[ORDER BY <order_expression>[ASC|DESC]]

  • 其中的参数说明:
  • select_list:指明要查询的选择列表。列表可以包含若干个列名或表达式,列名或表达式之间用逗号隔开,用来指示应该返回哪些数据。表达式可以是列名、函数、常数的列表。
  • table_source:指明查询的表或视图的名称。
  • source_condition:指明查询要满足的条件。
  • group_by_expression:根据指定列中的值对结果集进行分组。
  • search_condition:对 FROM、WHERE 或 GROUP BY 子句中创建的中间结果集进行行的筛选,通常与 GROUP BY 子句一起使用。
  1. 投影查询。

1.1 使用SELECT语句可以选择查询表或视图中的一列或者多列,当选择多列时,列之间要用“,”分隔。

示例:在SQL Console页签,输入如下查询学生信息表student中全体学生的学号、姓名和年龄的SQL语句,单击执行,然后在执行结果中可以查看到查询结果。

SELECT SNO,SN,Sex FROM student

1.2 如果想从FROM子句指定的表或视图中查询返回所有的列,可以在选择列表中选择星号*,而不需要列出表或视图中所有的列。

示例:在SQL Console页签,输入如下查询学生信息表student中的所有信息的SQL语句,即所有的行和所有的列,单击执行,然后在执行结果中可以查看到查询结果。

SELECT * FROM student

1.3 在SELECT语句的选择列表中使用DISTINCT关键字,可以从结果集中消除指定列的值重复的行。

示例:在SQL Console页签,输入如下查询学生表students中学生的专业的SQL语句,消除重复的行,单击执行,然后在执行结果中可以查看到查询结果。

SELECT DISTINCT DNO FROM student

1.4 使用TOP关键字,可以从查询结果集中只返回前n行。如果指定了PERCENT关键字,则返回前n%行,此时n必须介于 0~100。如果查询包括ORDER BY子句,则首先对行进行排序,然后从排序后的结果集中返回前n行或n%行。

示例:在SQL Console页签,输入如下从学生信息表student中查询学生的所有信息的SQL语句,要求只返回前3行数据,单击执行,然后在执行结果中可以查看到查询结果。

SELECT TOP 3 * FROM students

  1. 选择查询。

选择查询就是指定查询条件,然后在表中显示满足查询条件的记录。为了选择表中满足查询条件的某些行,可以使用  SQL  命令中的WHERE子句。WHERE子句后跟查询的逻辑表达式,通常情况下,必须定义一个或多个条件限制检索选择的数据行,结果集将返回表达式为真的数据行。在WHERE子句中,查询条件表达式可以包含比较运算符和逻辑运算符。常用的查询条件如下。

(1)比较,包括<、<=、!<、>、>=、>!、=、!=、<>等。

(2)范围,包括 BETWEEN AND和NOT BETWEEN AND。

(3)集合,包括IN和NOT IN等。

(4)字符匹配,包括LIKE和NOT LIKE。

(5)未知判断,包括IS NULL和IS NOT NULL。

(6)组合条件,包括AND、OR、NOT等。

2.1 比较。

示例:在SQL Console页签,输入如下查询学生表students中班级为2的学生记录的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行

SELECT * FROM students WHERE class='2'

2.2 范围。

在WHERE子句的查询筛选条件表达式中,可以使用BETWEEN…AND运算符查询某一指定范围的记录。NOT BETWEEN…AND检索不在某一范围内的信息。

示例:在SQL Console页签,输入如下查询学生表students中在1到3班的所有学生信息的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行

SELECT * FROM students  
WHERE grade BETWEEN '3' AND '5'

2.3 字符匹配。

LIKE关键字用于查询与指定的某些字符串表达式模糊匹配的数据行。LIKE后的表达式被定义为字符串,必须用半角单引号括起来,字符串中可以使用以下四种通配符。

(1)%:匹配任意类型和长度的字符串。例如,LIKE'张%'匹配以“张”开头的字符串。LIKE'%应用%'匹配的是前后字符串为任意,中间含有“应用”两个字的字符串。

(2)_(下画线):可以匹配任何单个字符。例如,LIKE'_伟%'匹配的是第二个字符为“伟”的任何字符串。

(3)[]:匹配任何在范围或集合之内的单个字符。例如,[a-i]匹配的是a、b、c、d、e、f、g、h、i 单个字符。

(4)[^]:匹配不在指定范围之内或集合的任何单个字符。例如,LIKE'[^a-c]'匹配的是不为a、b、c 的所有字符串。

示例:在SQL Console页签,输入如下查询学生表students中叫“Jude”的学生的信息的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行

SELECT *FROM students WHERE name LIKE 'Jude'

2.4 组合条件。

当 WHERE 子句中有多个查询条件时,可以使用逻辑运算符 AND、OR和NOT连接多个查询条件,形成复杂的逻辑表达式。其优先级由高到低为NOT、AND、OR,但可用括号改变优先级。

示例:在SQL Console页签,输入如下查询学生表students中年级为3并且班级为2的学生记录的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行

SELECT * FROM students WHERE grade='3' AND class='2'

3.排序查询。

通常情况下,SELECT语句可以返回的查询结果集的记录是按表中记录的物理顺序排列的。ORDER  BY子句可以按照升序(ASC)或降序(DESC)排列各行或各列,如果省略,则系统默认为升序。需要注意的是,ORDER  BY子句必须是SQL命令的最后一个语句,ORDER BY子句中不能使用NTEXT、TEXT和IMAGE列。     示例:在SQL Console页签,输入如下查询学生表students中班级为1的学生id和姓名,并按照id号降序排列的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行

SELECT id,name FROM students WHERE class='1' 
ORDER BY id DESC

查询的方式方法还有很多,可结合兴趣自行开展实验。

2. 实验作业

实验要求:

使用SQL语句对的student_info、curriculum、grade表中数据进行查询操作,各表数据如表1-表3所示。

  • 表1 student_info表的数据

学号

姓名

性别

出生日期

家族住址

0001

张青平

2000-10-01

衡阳市东风路77号

0002

刘东阳

1998-12-09

东阳市八一北路33号

0003

马晓夏

1995-05-12

长岭市五一路763号

0004

钱忠理

1994-09-23

滨海市洞庭大道279号

0005

孙海洋

1995-04-03

长岛市解放路27号

0006

郭小斌

1997-11-10

南山市红旗路113号

0007

肖月玲

1996-12-07

东方市南京路11号

0008

张玲珑

1997-12-24

滨江市新建路97号

  • 表2 curriculum表的数据

课程编号

课程名称

学分

0001

计算机应用基础

2

0002

C语言程序设计

2

0003

数据库原理及应用

2

0004

英语

4

0005

高等数学

4

  • 表3 grade表的数据

学号

课程编号

分数

0001

0001

80

0001

0002

91

0001

0003

88

0001

0004

85

0001

0005

77

0002

0001

73

0002

0002

68

0002

0003

80

0002

0004

79

0002

0005

73

0003

0001

84

0003

0002

92

0003

0003

81

0003

0004

82

0003

0005

75

  1. 使用SELECT语句进行基本查询。

(1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。

(2)查询student_info表学号为 0002的学生的姓名和家庭住址。

(3)查询student_info表所有出生日期在95年以后的女同学的姓名和出生日期。

  1. 使用select语句进行条件查询。

(1)在grade表中查询分数在70-80范围内的学生的学号、课程编号和成绩。

(2)在grade表中查询课程编号为0002的学生的平均成绩。

(3)在grade表中查询选修课程编号为0003的人数和该课程有成绩的人数。

(4)查询student_info的姓名和出生日期,查询结果按出生日期从大到小排序。

(5)查询所有姓名“张”的学生的学号和姓名。

实验链接:https://developer.aliyun.com/adc/scenario/66693999836f49cea69e974cfb31f8be

相关文章
|
9天前
|
SQL 监控 安全
员工上网行为监控软件:SQL 在数据查询监控中的应用解析
在数字化办公环境中,员工上网行为监控软件对企业网络安全和管理至关重要。通过 SQL 查询和分析数据库中的数据,企业可以精准了解员工的上网行为,包括基础查询、复杂条件查询、数据统计与分析等,从而提高网络管理和安全防护的效率。
21 0
|
1月前
|
SQL 数据管理 数据库
SQL语句实例教程:掌握数据查询、更新与管理的关键技巧
SQL(Structured Query Language,结构化查询语言)是数据库管理和操作的核心工具
|
3月前
|
SQL 关系型数据库 数据挖掘
SQL 基础入门简直太重要啦!从零开始,带你轻松掌握数据查询与操作,开启数据世界大门!
【8月更文挑战第31天】在数字化时代,数据无处不在,而 SQL(Structured Query Language)则是开启数据宝藏的关键钥匙。无论你是编程新手还是数据处理爱好者,掌握 SQL 都能帮助你轻松提取和分析信息。SQL 简洁而强大,像一位魔法师,能从庞大数据库中迅速找到所需数据。从查询、条件筛选到排序、分组,SQL 功能多样,还能插入、更新和删除数据,助你在数据海洋中畅游无阻。
43 0
|
3月前
|
SQL 关系型数据库 数据库
|
4月前
|
SQL 分布式计算 MaxCompute
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
SQL开发问题之对于ODPS中的UNION操作,执行计划的问题如何解决
|
4月前
|
SQL 分布式计算 DataWorks
MaxCompute操作报错合集之使用sql查询一个表的分区数据时遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在执行SQL查询时遇到报错,代码为[XX000],该怎么解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
4月前
|
SQL 分布式计算 资源调度
MaxCompute操作报错合集之执行SQL Union All操作时,数据类型产生报错,该怎么解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
129 1
|
4月前
|
SQL 分布式计算 大数据
MaxCompute操作报错合集之执行多条SQL语句时,使用同一个实例来运行,遇到报错,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
4月前
|
SQL DataWorks NoSQL
DataWorks操作报错合集之在执行带with语句的SQL查询时出现了错误,是什么原因
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。