欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库——查询操作

程序员文章站 2024-03-15 18:50:00
...

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

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

数据库——查询操作

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

上一篇: 用递归法求N的阶乘Java

下一篇: