A. 急求:sql语言检索出那些男生的人数多于20个的班级,结果包括班级和男生人数,谁帮我一下我非常感谢
select 班级,count(*) as 男生人数
from 学生表
where 性别='男'
group by 班级
having count(*)>20
B. 统计年龄在20岁以下的学生人数写出sql-select查询命令
select count(*) as 人数 from 学生表
where datediff(year,getdate(),出生日期)+1<20
C. SQL语句 查询 统计
这几个表里有哪几个列要告诉我们呀!
hotyxm - 高级魔法师 六级 最后一个题目好像有误.应该是:
select 学生姓名,count(课程编号) from 选课表 group by 学生号having count(课程编号)>=4;
不过你还是要把这几个表详细说下才好,上面这个SQL语句是跟据一般可能有和列和表来写的.
hotyxm - 高级魔法师 六级的回答可能还有其它错误.我没细看.但好像他就是从学生表里来查东西,一个表怎么能有那么多东西,会出异常的.
你不详细说明一下有哪些表和哪些列,我也不好跟你写.
D. 利用sql统计“学生”表中学生的总人数
统计“学生”表中学生的总人数的sql语句是:
select count(*) from student;
其中select代表查询,count(*)是统计行数量,student是学生表,使用上述语句可以统计学生表中的所有行记录也就是学生的总人数。
(4)sql查询系别为20的学生人数扩展阅读
常用sql语句介绍:
1、 查询指定列
SQL>SELECT empmo, ename, mgr FROM emp;
SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项
2、查询指定行
SQL>SELECT * FROM emp WHERE job='CLERK';
3、使用算术表达式
SQL>SELECT ename, sal*13+nvl(comm,0) FROM emp;
nvl(comm,1)的意思是,如果comm中有值,则nvl(comm,1)=comm; comm中无值,则nvl(comm,1)=0。
SQL>SELECT ename, sal*13+nvl(comm,0) year_sal FROM emp; (year_sal为别名,可按别名排序)
SQL>SELECT * FROM emp WHERE hiredate>'01-1月-82';
E. sql查询语句 查询每个班男女人数分别大于20的班级号及男女生总数
select 班级,男=count(case when 性别='男' then 1 end),女=ccount(case when 性别='女' then 1 end) from table1 group by 班级 having count(case when 性别='男' then 1 end)>20 and ccount(case when 性别='女' then 1 end)>20
F. “创建SQL语句查询:查询各个系男女学生的人数。”应该怎么写啊
select
sum(decode(性别,男,1,0)) as 男生数,
sum(decode(性别,男,0,1)) as 女生数
from 学生表
group by 系
decode是oracle独有的,如果不是oracle数据库,那么用相关的IF,CASE类的语句
G. 怎样用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语句的后面,作为分组的依据;要么就要被包含在聚合函数中。
H. SQL统计各专业学生人数
CREATE VIEW VIEW1
AS
SELECT 专业表.专业名称, COUNT(学生表.学生ID) AS 人数
FROM 学生表
LEFT JOIN 专业表 ON 专业表.专业ID = 学生表.专业
GROUP BY 专业表.专业ID,专业表.专业名称