数据库——查询操作[通俗易懂]

数据库查询操作

大家好,又见面了,我是你们的朋友全栈君。

可以说查询是数据库编程中最重要的一环,其用途是从一张表或多张表中检索出满足条件的数据信息

下面开始研究Select语句

Select 语句格式:

Select [ALL  DISTINCT] select_list              
[INTO new_table]
FROM table_source
[WHERE search_conditions]
[GROUP BY group_by_expression]
[HAVING search_conditions]
[ORDER BY order_expression[ASC  DESC]]

子句的顺序如下:

这里写图片描述

SELECT 子句

ALL与DISTINC区别

ALL 返回列中的所有数据
DISTING 自动过滤列中相同的数据,返回唯一数据

举例:
查询新建的工龄_1的表
Select * from 工龄_1
这里写图片描述

注: *表示查找表中的所有字段(列)

查询姓名列的所有数据(ALL)
Select ALL 姓名 from 工龄_1
这里写图片描述
注意:当中有两个张三

查询结果没有重复的数据(DISTINCT)

select distinct 姓名 from 工龄_1
这里写图片描述

WHERE子句

作用:指定条件过滤数据结果(行过滤)

举例:

查询新建的学生成绩表
select * from result_Info
这里写图片描述

查找语文考试成绩

select * from result_Info 
where  course_Name='语文'

返回结果如下:
这里写图片描述

查询考试为语文并且学号为11的成绩
select * from result_Info
where course_Name=‘语文’ and student_ID=‘11’
这里写图片描述

GROUP BY子句

作用:按照指定的条件将数据聚合

举例:
查询新建的学生成绩表
select * from result_Info
这里写图片描述

查询“2000期中”(条件) 学科的平均分(按照语文,数学进行聚合)


select course_Name,AVG (result) from result_Info  
where exam_No='2000期中'
group by  course_Name 

这里写图片描述

HAVING 子句(用在GROUP BY子句之后)

作用:数据分组后对组的过滤

举例:
查询“2000期中”(条件) 学科的平均分(按照语文,数学进行聚合)
取平均分大于80的数据

select course_Name,AVG (result)
from result_Info  
where exam_No='2000期中'
group by  course_Name 
having AVG(result)>80

这里写图片描述

ORDER BY子句

作用:将查询的数据进行排序
ASC 为升序
DESC 为降序

举例:
查询考试类型‘2000期中’,学科为语文的成绩

select * from result_Info 
where exam_No ='2000期中' and course_Name = '语文'

这里写图片描述

将数据升序

select * from result_Info 
where exam_No ='2000期中' and course_Name = '语文'
Order by result ASC

这里写图片描述

将数据降序排列

select * from result_Info
where exam_No ='2000期中' and course_Name = '语文'
order by result desc

这里写图片描述

总结:实践出真知,一步一步走

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126958.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号