用SQL语句进行数据库查询(简单查询)_利用sql语句完成以下查询(1)显示前10%的女生记录。(2)查询选修了课程的学生学号。(1)

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

IN 的用法-- 查询匹配多个字段(也可单个),允许我们在 WHERE 子句中规定多个值。
查询单个字段

–从课程表中查询出高数 与c语言程序设计的所有信息.
提示:Cname表示课程名

select \*from Course
where Cname in ('C语言程序设计' ,'高数')--表示课程名可以为(里面的数据)

运行结果:

2.基于BETWEEN…AND子句的数据查询

BETWEEN A AND B :表示查询 A 到 B 之间的数据,即[A,B].

例如:

查询成绩在75到80(闭区间)之间的学生的学号、课程号和成绩

select Sno as 学号,Cno as 课程号,grade as 成绩
from sc
where Grade between 75 and 80

3.基于LIKE子句查询

(1)从学生表中分别检索出姓张的所有同学的资料或者名字的第二个字是”红”或”虹”的所有同学的资料.

补充知识:
SQL中的通配符:
①:‘%’ 包含零个或多个字符的任意字符串:
②:‘_’(下划线) 任何单个字符:

SQL语句示例:

select \*from Student
where Sname LIke '张%' or Sname LIKE '\_红%' or Sname LIKE '\_虹%'
--张% 表示姓张的信息.
--\_红%和\_虹%分别代表名字的第二个字是”红”或”虹”的信息

(2)查询课程名为Visual_Basic的课程的学分.

由于’‘_ ‘’(下划线)是通配符,所以在搜索的时候要将’‘(下划线)转义为普通字符
ESCAPE 表示转义字符,让后面的通配符’
'(下划线)为普通字符

select  Credit from Course
where Cname LIKE 'Visual/\_Basic' ESCAPE'/'--表示让'/'字符后的字符为转义字符

4.使用TOP关键字查询

补充知识:
TOP关键字的用法:
1)返回确定数目的记录个数

语法格式:SELECT TOP n <列表名>FROM<表名>[查询条件]

例如:从选课表中检索出前3个课程的信息.

Select Top 3 \*
From Course

2)返回结果集中指定百分比的记录数

语法格式:SELECT TOP n PERCENT<列表名>FROM<表名>[查询条件]

例如:从课表中检索出前20%的课程信息.

select top 20 percent \*from Course

5…消除重复行(distinct)

关键词 distinct用于返回唯一不同的值。

格式:
1.作用于单列 select distinct name from A
2.作用于多列 select distinct name, id from A

检索出学生已选课程的课程号,要求显示的课程不重复.

select distinct Cno from Course

6.时间函数:getdate().

getdate() 函数取得日期/时间信息,可用于获取当前时间,不需要带参数.
方法一:

select getdate()   --取当前时间

方法二:

print getdate()--注意:在SQL语句中,打印是print与c语言中的printf不同.

结果2:


用例:
查询全体学生的姓名及其年龄
我们的表中并没有年龄这一属性,但是我们有学生的出生日期,这样我们可以通过计算(当前日期-出生日期)得到年龄.

select Sname as 姓名 ,year (getdate())-year(Birth) as 年龄 from Student

补充知识:

select year(getdate())--表示获取年份 2022
,month(getdate())--表示获取月份 12
,day(getdate())--表示日期天数 11

7.使用ORDER BY语句对查询的结果进行排序.

补充知识:
1.descdescend降序意思 ,ascascend 升序意思,
2.ORDER BY是排序的意思
3.getdate()表示获取当前时间,year(时间)表示精确到’年’
(1)显示所有学生的姓名基本信息,按班号排列,班号相同则按学号排列.

select \*from Student
order by Classno,Sno--表示按班号排列,班号相同则按学号排列

(2)查询全体学生的姓名及年龄,并按学生的年龄降序排列.

select Sname as 姓名 ,year (getdate())-year(Birth) as 年龄 from Student
order by '年龄'desc--表示按降序排列

运行结果:

🐶使用聚合函数

count函数

补充知识:
COUNT()函数返回表中的行数。 COUNT()函数允许您对表中符合特定条件的所有行进行计数。
COUNT(*)函数返回由SELECT语句返回的结果集中的行数。COUNT(*)函数计算中包含NULL和非NULL值的行,也就是用计算所有行.

(1)查询学生总人数.

select count (distinct Sno) as 学生总人数 from Student--distinct表示计算不同学号的行数,即学生总人数.

(2)计算”002”号课程的学生平均成绩、最高分、最低分.

  • avg()函数用于计算平均值
  • max()函数用于计算最大值
  • min()函数用于计算最小值
select avg(Grade) as 平均分,max(Grade) as 最高分,min(Grade) as 最低分 from sc
where Cno='002'

运行结果:

使用Group子句进行查询

group如字面意思一样,表示分组,group by表示按某规则分组.将一个数据集分为若干个小区域.

例如:

(1)查询各班级学生总人数.
提示:按班级分类

select Classno as 班级,COUNT(\*)as 学生人数
from Student
group by classno--按班级分类

运行结果:

(2)汇总总分大于150分的学生的学号及总成绩.

补充知识:
having 作用类似于where,差别是

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

img-X2AZl2j7-1715146905060)]
[外链图片转存中…(img-YFWtRceR-1715146905060)]
[外链图片转存中…(img-GwcpIGo6-1715146905060)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 13
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值