关于SQL查询,有学生和班级两张表。查询班级人数大于50的班级的所有信息?
SELECT
班级.ID
FROM
班级, 学生
WHERE
班级.ID = 学生.所属班级ID
GROUP BY
班级.ID
HAVING
COUNT(学生.ID) > 50
上面的SQL, 只获取班级人数大于50的班级的 ID
如果要班级的所有信息
SELECT
*
FROM
班级
WHERE
班级.ID IN
(
SELECT
班级.ID
FROM
班级, 学生
WHERE
班级.ID = 学生.所属班级ID
GROUP BY
班级.ID
HAVING
COUNT(学生.ID) > 50
)
sql语句中怎样查询学生表中所有有着相同的名字的人的信息
方法一:select *from 学生表
where name in 姓名
方法二:
selecct 姓名
from 学生表
group by 姓名
having count(*)>1
如果 having 子句不加,则是统计各名字的数量,加上则只显示 数量大于 1 的人名。
扩展资料:sql 学生表中如何查询与某同学同年的人
SELECT * FROM 学生表 T1
WHERE EXISTS (SELECT 1
FROM 学生表 T2
WHERE YEAR(T1.生日) = YEAR(T2.生日)
AND 学生编号 = '某同学学生编号')
YEAR是取datetime类型数据的年部分的函数,只要表中的数据存在年份和某学生生日的年份相同就可以。