数据库——查询操作

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

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

这里写图片描述

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

猜你喜欢

转载自blog.csdn.net/shang_0122/article/details/81914581