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

数据库查询操作

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

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

下面开始研究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

这里写图片描述

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

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Springboot的Mybatis拦截器实现[通俗易懂]

    Springboot的Mybatis拦截器实现[通俗易懂]MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,其实就是拦截器功能MyBatis允许拦截的接口MyBatis允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括:Executor(update,query,fl…

    2022年9月8日
  • JedisCluster密码设置「建议收藏」

    JedisCluster密码设置「建议收藏」问题:通过jedisCluster.auth(”password”);报错:redis.clients.jedis.exceptions.JedisDataException:NOAUTHAuthenticationrequired如果是jedis单机模式的话,我们可以直接使用jedis.auth来进行设置Jedisjedis=newJedis(“127.0.0.1”,6379);jedis.auth(“password”);但是jedisCluster.auth(”p..

    2022年10月14日
  • 深入了解Vue.js组件笔记

    深入了解Vue.js组件笔记

    2021年6月12日
  • django 模糊查询

    django 模糊查询fromdjango.shortcutsimportrenderfrom.modelsimportBook#Createyourviewshere.defindex(req):books=Book.objects.filter(name__contains="python")returnrender(req,"index.html",{"…

    2022年5月23日
  • Java的控制台输入输出语句[通俗易懂]

    Java的控制台输入输出语句[通俗易懂]输出语句Java中常用的输出语句有以下三种System.out.println();System.out.print();System.out.printf();System.out.println();是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString

    2022年7月8日
  • acwing-257. 关押罪犯(二分图+二分)「建议收藏」

    acwing-257. 关押罪犯(二分图+二分)「建议收藏」S 城现有两座监狱,一共关押着 N 名罪犯,编号分别为 1∼N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 c 的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到 S 城 Z 市长那里。公务繁忙的 Z 市长只会去看

    2022年8月9日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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