请教一个SQL查询语句。

现在有三个表。
student表 class表 school表
--------------
student表里有字段 classid
class表里有字段 schoolid
----------
student表里的 classid对应 class表里的id
class表里的schoolid对应 schoolid表里的id
--------
现在想要的是。。。
查询出所有的学校名字(就是school表里的name字段)以及他所对应的学校的一年级总人数(一年级这个概念是在class表里面的greed字段=1)。
student表 有字段
学生ID ,
学生姓名,
所属班级编号(classid对应class表里的id)
------
class表 字段
id(就是对应的student表里的 classid),
此班级所属年级(greed),
所属学校(对应的 schoolid表里的id)
------
school表 字段
id(对应的class表里的schoolid),
学校名,
------------------------
这么写都能看懂了吧?
现在想要的是
学校名称,该学校一年级的总人数
学校名称,该学校一年级的总人数
学校名称,该学校一年级的总人数
……
数据库里是没有一年级总人数这个字段的,要根据表关系查询出来。

select school.学校名 as 学校名称,count(student.学生ID) as 该学校一年级的总人数
from student,class,school
where student.所属班级编号=class.id
and class.所属学校=school.id
group by school.学校名,class.greed
having class.greed=1
--如果有问题可以追问
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-02
select t1.name,count(t3.student表的主键) from school t1,class t2,student t3 where t1.schoolid=t2.schoolid and t2.classid=t3.classid and t3.greed=1 group by t1.name追问

请看问题补充,谢谢。。。

追答

select t1.name,count(t3.学生ID ) from school t1,class t2,student t3 where t1.schoolid=t2.schoolid and t2.classid=t3.classid and t3.greed=1 group by t1.name

第2个回答  2011-06-02
你说的很不清楚。
1.每个表格的表项(尤其是年级及人数在哪个表)
2.所用数据库追问

请看问题补充,谢谢。。。

第3个回答  2011-06-02
不知道你那个一年级总人数field的名字是?
select school.name as school_name, class.num(where greed==1) where class.schoolid==school.id from school,class group by school.id追问

请看问题补充,谢谢。。。

第4个回答  2011-06-02
用连接查询
第5个回答  2011-06-02
class 表中的id是否就已经可以唯一表示他的年级了呢,这样做,是否会增加冗余呢?

请教一个SQL查询语句的写法:
在SQL查询语句中,使用全文索引来进行查询是一种有效的方法。全文索引在构建后,可以对整个文本进行搜索。在填充表时,确保数据符合索引的构建要求。通过使用FREETEXT函数,可以执行类似搜索引擎的操作,查询文本中的特定内容。此功能与搜索引擎的搜索机制相似,可以精准定位到需要的数据。为了实现全文索引的建立...

SQL查询语句
SQL>SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr=ee.empno;5. 子查询(嵌入到其他sql语句中的select语句,也叫嵌套查询)5.1 单行子查询 SQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename='SMITH');查询表中与smith同部门的人员名字。

请教一个SQL高级查询 (奇数偶数分开显示)
首先,我们需要有一个员工表,包含员工编号(员工编号)和其他相关信息。接下来,使用CASE语句对员工编号进行判断。CASE语句可以对特定条件进行测试,并返回相应的值。在本例中,我们使用了当员工编号除以2的余数等于1时返回1,否则返回2。具体SQL语句如下:SELECT * FROM 员工 ORDER BY CASE WHEN 员工编...

请教一个SQL查询语句。
select school.学校名 as 学校名称,count(student.学生ID) as 该学校一年级的总人数 from student,class,school where student.所属班级编号=class.id and class.所属学校=school.id group by school.学校名,class.greed having class.greed=1 --如果有问题可以追问 ...

SQL简单查询(条件查询 模糊查询)
一.基本查询语句 执行SQL查询,只需指定要获取的列名。例如:select 列名,列名,... from student;若需为列名定义别名,可在别名前加上"as"关键字,且中文别名需用英文引号括起:select 列名 as ABC,列名 as '其他名' from student;为去除重复数据,使用distinct关键字:select distinct 姓名 from ...

用sql语句怎么查一个表的信息
1、 查询所有列。sql语句:SELECT * FROM user。2、查询指定列 sql语句:SELECT nickname, mobile, sex FROM user 3、将查询结果按字段的值进行排序 sql语句:SELECT * FROM emp ORDER BY deptno, sal DESC; (按序号升序,并按价格降序)4、比较查询 sql语句:select Sname as 姓名,Sage as 年龄...

SQL语句查询
1、select distinct s.学号,姓名 from s,c,sc where s.学号=sc.学号 and c.课程号=sc.课程号 and 成绩>=85 2、select s.学号,姓名,平均成绩=avg(成绩) from s,sc where s.学号 in (select 学号 from sc group by 学号 having count(学号)>5 3、select 书名 from 图书 where 出版...

怎样用SQL语句查询一个数据库中的所有表
查询数据库里所有表名和字段名的语句 SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHEMA.TABLES 结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;sql 语句...

请教高手指点一下SQL多表组合查询的语句
查询语句首先从教师表中选取ID和姓名。然后,它通过一个子查询来限定条件。子查询的目标是从班级表(标记为a)和学生表(标记为b)中找出班主任教师ID。子查询通过`INNER JOIN`操作将班级表a和学生表b连接在一起,连接条件是a表中的ID与b表中的班级ID相等,以及b表中的姓名等于特定值xxxxx。这个特定...

用sql语句怎么查一个表的信息
1、查询”user_user“表中所有人员信息且所有字段,sql语句:select * from user_user 2、查询”user_use“表中所有人员信息且部分字段。sql语句:select user_show_id,user_name,pinyin,password from user_user 3、条件查询”user_user“表,以user_name为查询条件查询所有信息。sql语句:select * ...

相似回答