当前位置:首页 » 编程语言 » sql查询学生姓名比例
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql查询学生姓名比例

发布时间: 2022-09-10 23:29:24

Ⅰ 5.用sql命令查询所有学生的学号、姓名、总成绩、平均成绩。

## 简介

数据库在查询上的sql 语句 基本是没有差异的,

## 工具

mysql 数据库,windowds 7

## 步骤

1.打开mysql数据库,点击新增查询
2.selectno,name,totalScore,avgScorefromScoreTable;

Ⅱ 用一条sql语句查询出“每门”课程都大于80分的学生姓名

首先需要进行分析:

要查询出每门课程都大于80分的学生姓名,因为一个学生有多门课程,所以会出现下面三种情况。

第一可能所有课程都大于80分。

第二可能有些课程大于80分,另外一些课程少于80分。

第三也可能所有课程都小于80分。

那么我们要查找出所有大于80分的课程的学生姓名,我们可以反向思考,找出课程小于80分(可以找出有一些课程小于80分,所有课程小于80分的学生)的学生姓名再排除这些学生剩余的就是所有课程都大于80分的学生姓名了。

分析完成后,进入数据图形化管理界面创建表并插入数据

--创建表aa

create table aa(

name varchar(10),

kecheng varchar(10),

fengshu int

)

--插入数据到表aa中

insert into aa values('张三','语文',81)

insert into aa values('张三','数学',75)

insert into aa values('李四','语文',76)

insert into aa values('李四','数学',90)

insert into aa values('王五','语文',81)

insert into aa values('王五','数学',100)

insert into aa values('王五','英语',90)

用一条SQL语句查询出每门课都大于80分的学生姓名

select distinct name from aa where name not in (select distinct name from aa where fengshu<=80)

结果如下图:

(2)sql查询学生姓名比例扩展阅读:

除了用distinct还可以用not in 或者 not exists 实现

//not in

SELECT DISTINCT A.name FROM Student A WHERE A.name not in(SELECT Distinct S.name FROM Student S WHERE S.score <80);

//not exists

SELECT DISTINCT A.name From Student A where not exists (SELECT 1 From Student S Where S.score <80 AND S.name =A.name);

结果与前面正文一样。

Ⅲ 用sql 语言怎样 查询同名同姓学生名单,并统计同名人数

select 姓名,count(学号) as num
from 学生表
group by 姓名
having count(学号)>1 --保证查找到的都是存在2个以上(包括2)的同名同姓的姓名及人数。

Ⅳ 用SQL操作统计重名的学生姓名和人数

你表里面都有些什么字段
select
学生姓名,count(*)
as
人数
from
学生表
group
by
学生姓名
having
count(*)>1
group
by
是分组的意思
having
是筛选的意思
总的意思是:
如果没有having
count(*)>1
就会显示所有的人名和人数,没有重名的那些
人数是
1
查询出来之后的样式:
小冀
10
小王
20
小李
15

Ⅳ 用sql 语言怎样 查询同名同姓学生名单,并统计同名人数

select
姓名,count(学号)
as
num
from
学生表
group
by
姓名
having
count(学号)>1
--保证查找到的都是存在2个以上(包括2)的同名同姓的姓名及人数。

Ⅵ 怎样用SQL语句表示:查询每个班级的学生人数

查询每个班级的学生人数的sql语句是:

select class_name,count(1) from table_name group by class;

其中class_name,count(1)为查出的班级名和对应的人数,table_name为学生表名称,group by是将class分组。

注意点:在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。

Ⅶ sql中关于select查询女生所占总人数的比例的语句

select count(女生)/(select count(*) from 学生表) as 女生所占比例 from 学生表 group by 女生

Ⅷ 用SQL语句实现 查询年龄大于20岁的学生点总学生的比例谢谢

select (select count(*) from Table1 Where Year>20)*100.0/(select count(*) from Table1) as 百分比

Ⅸ SQL语句查询每个学生的学号、姓名、平均成绩、最高成绩和最低成绩

select student.id ,student.name,avg(grade),max(grade),min(grade) from student s jion grade g on s.id=g.id group by student.id