本文来自:http://lxingyue1009.blog.163.com/blog/static/16189332320104695022118/
sql语句中怎样查学生表中所有有着相同的名字的人的信息
如果每个学生只有一条记录的话,按姓名分组,统计记录条数(大于1),再这些有相同姓名条数的人的姓名作为条件,检索出相应信息
语句如下:
select *
from 学生表
where 姓名 in
(selecct 姓名
from 学生表
group by 姓名
having count(*)>1 )
goup by ... having 用法
一.分组查询
1.使用group by进行分组查询
在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:
〉被分组的列
〉为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数
group by的使用在这只写几个例子吧:
例:
select courseID,avg(score) as 课程平均成绩
from score
group by courseID
例:
select studentID as 学员编号,courseID as 内部测试,avg(score) as 内部测试平均成绩
from score
group by studentID,courseID
2.使用having子句进行分组筛选
where子句只能对没有分组统计前的数据行进行筛选,对分组后的条件的筛选必须使用having子句
例:
select studentID as 学员编号,courseID as 内部测试,avg(score) as 内部测试平均成绩
from score
group by studentID,courseID
having count(score)>1
!在select语句中,where、group by、having子句和统计函数的执行次序如下:
where子句从数据源中去掉不符合去搜索条件的数据;group by子句搜集数据行到各个组中,统计函数为各个组计算统计值;having子句去掉不符合其组搜索条件的各组数据行
公司的使用
select CL_DISPLAYNAME from jf_org_user where CL_DISPLAYNAME in (select CL_DISPLAYNAME
from jf_org_user )
group by CL_DISPLAYNAME
having count(*)>1
分享到:
相关推荐
学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表 Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号--3.教师表 Teacher(T#,Tname) --T# ...
例如,如果你有一个学生表,你可以找出所有不在"小叶"班级的同学: ```sql SELECT name FROM students WHERE class_id NOT IN (SELECT class_id FROM students WHERE name = '小叶'); ``` 这个查询将返回...
- **题目:** 查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序。 - **解析:** 通过多列排序实现更细致的数据排列。查询语句为`SELECT * ...
如果要匹配姓张且名字只有两个字的人的记录,“张”字后面必须要有两个“_”符号。因为一个汉字是两个字符,而一个“_”符号只能代表一个字符。 (4)空值查询 IS NULL关键字可以用来判断字段的值是否为空值(NULL)...
--4.2、查询在sc表中不存在成绩的学生信息的SQL语句。 --5、查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩 --5.1、查询所有有成绩的SQL。 --5.2、查询所有(包括有成绩和无成绩)的SQL。 --6、查询...
1. **学生表** `tb_student` (sid, sname, sage, sbirthday, ssex) - **sid**: 学号 - **sname**: 学生姓名 - **sage**: 学生年龄 - **sbirthday**: 出生年月 - **ssex**: 学生性别 2. **课程表** `tb_course`...
2. **查询学生表中男女各有多少人**: 这个查询是统计`students`表中性别为'男'和'女'的学生数量。我们可以使用`COUNT()`函数配合`GROUP BY`子句来完成: ```sql select gender, COUNT(gender) as 人数 from ...
**解析**: 通过`Teacher`表中的教师名字筛选,再通过`Course`表连接到`Score`表,以获取由“张旭”教师授课的所有学生的成绩。 #### 24. 查询选修某课程的同学人数多于5人的教师姓名。 ```sql SELECT DISTINCT ...
此题要求查询学生名字、课程号和成绩,需要从`Student`表和`Score`表中获取信息。 #### 15. 查询所有学生的Sno、Cname和Degree列。 - **SQL语句**: ```sql SELECT Student.Sno, Course.Cname, Score.Degree FROM...
- 此处的通配符`%`表示匹配所有教师的名字,因此该查询实际上统计了所有老师的数量,而非题目描述中的“教授课程最多的老师人数”。 #### 示例5:查询未上过“叶平”老师课程的学生 ```sql select Student.S#, ...
- **获取完整信息:** 本例中通过连接两个表来获取学生及其所选课程的全部信息。 #### 12. 查询选择了课程号为2且成绩大于80分的学生信息 ```sql SELECT * FROM sc, c WHERE sc.cno = c.cno AND grade > 80 AND ...
这条SQL语句从`student_info`表中选择符合特定部门和专业的学生信息,同时排除已经在`student`表中存在的ID。`NOT EXISTS`子句用于过滤掉已存在的ID,以确保结果集中只包含未注册的学生信息。 **应用场景**: - ...
根据提供的标题、描述以及部分SQL查询内容,我们可以总结出一系列重要的SQL知识点,这些知识点对于学习SQL的人来说至关重要。接下来,我们将详细解析每一项SQL查询所涉及的技术要点。 ### 1. 比较两个课程的成绩 *...
这个查询涉及到对`student`表中的筛选操作,使用`LIKE`关键字匹配以“王”开头的名字,并结合`ssex`字段过滤出性别为“男”的学生。SQL语句如下: ```sql SELECT COUNT(sname) AS scount FROM student WHERE sname...
在这个LeetCode问题580中,我们被要求统计大学中每个专业的学生人数,并在SQL查询中展示结果。问题的关键在于联合使用`student`和`department`两个数据表,以获取每个专业的学生数量,同时处理没有学生的专业情况。...
根据给定文件的信息,我们可以将这些SQL笔试题目逐一解析,并且从中...每一道题目都涉及到了SQL语言的不同方面,涵盖了子查询、表连接、聚合函数、分组查询等多个知识点,对于准备SQL面试的人来说是非常好的练习材料。
查询course表的所有信息(所有行所有列) USE Xk GO SELECT * FROM Course --有哪些种类的选修课?学分是多少 USE XK GO SELECT Kind,Credit FROM Crouse GO 修改列名字 SELECT '课程种类'=Kind,'学分'=Credit ...
使用左连接将学生表与成绩表合并,通过`GROUP BY`计算每个学生的选课数量和总成绩。 4. **查询姓“李”的老师的个数**: 使用`LIKE`操作符匹配以“李”开头的教师名字,`COUNT(DISTINCT Tname)`统计不同教师的...