-
求一条面试的sql题目5
教师表T(T#,Tname,Title)
课程表C(C#,Cname,T#)
学生关系S(S#,Sname,Age,Sex)
选课关系SC(S#,C#,SCORE)
检索学习全部课程的学生姓名??
这个题目怎么做 题目思路是??2010年3月27日 16:22
3个答案 按时间排序 按投票排序
-
可以这样考虑:
如果对每一门课,每个学生最多只能选一次的话(选或是不选),那么选所有课程的学生的选课数和课程总数是相同的:
引用select distinct(Sname) Sname
from S, SC
where S.S# = SC.S# and count(SC.C#) =
(
select count(C.C#)
from C
)2010年3月27日 16:37
-
select sname from s where not exists((select * from c where not exists(select * from
sc where sc.s#=s.s# and sc.c#=c.c#)))2010年3月27日 16:33
相关推荐
题目 1: 用一条 SQL 语句查询出每门课都大于 80 分的学生姓名 答案:select distinct name from table where name not in (select distinct name from table where fenshu) 解释:这道题目考察了候选人对 SQL 语句...
根据题目描述,我们需要实现的功能是:对于除“学号”字段外的所有字段都相同的记录,仅保留一条,其余的都需要被删除。 **数据库设计** 首先,题目给出了一个名为`tbl_students`的表,该表包含以下字段: - `id`...
根据提供的信息,我们可以详细解析这些SQL面试题目以及给出的示例答案,并且深入理解每一道题目背后的原理与应用场景。 ### 風险1: 查询身份证号码为440401430103082的申请日期 #### 问题描述 此题目要求查询在`g_...
根据提供的文件内容,我们可以整理出以下几个SQL面试题及其解答,这些问题主要聚焦于SQL查询技巧、数据处理以及数据结构的理解。 ### 1. 查询每门课都大于80分的学生姓名 **题目描述**:给定一张成绩表,其中包含...
问题:使用一条SQL语句查询出每门课都大于80分的学生姓名。 解决方案:select distinct name from table where name not in (select distinct name from table where fenshu) 这个解决方案使用了NOT IN子句来排除...
**题目1:** 给定一张表`table1`有两个字段`FID`,`Fno`,编写一个SQL语句来列出该表中一个`FID`对应多个不同的`Fno`的记录。 **解答:** ```sql SELECT * FROM table1 WHERE FID IN ( SELECT FID FROM table1 ...
在SQL Server数据库面试中,掌握一系列关键操作是至关重要的。以下是一些常见面试题目的详细解答,涵盖了数据检索、表复制、数据转换以及临时表的使用等知识点。 1. **查询特定范围的记录** - 当需要查询第30到第...
以下是一些关于SQL高级面试题的关键知识点,以及它们的解释和应用: 1. **复制表(只复制结构)**: - 使用`SELECT * INTO`语句,配合`WHERE 1<>1`或`TOP 0 *`,可以创建一个新表并复制源表的结构,但不包含数据。...
例如题目中,删除除学号id字段以外,其他字段都相同的冗余数据,只保留一条记录。这种情况下,可以使用NOT IN子句来删除重复的记录。 SQL 语句:DELETE FROM tbl_students WHERE id NOT IN (SELECT MID FROM ...
根据提供的文件内容,我们可以整理出一系列与SQL相关的面试题及解答思路。这些题目涵盖了SQL的基础查询、数据处理、以及更高级的功能应用等多方面内容,非常适合准备数据库工程师面试的求职者进行练习。下面是针对每...
- 题目1中,用一条SQL语句查询出每门课都大于80分的学生姓名,这涉及到了子查询的使用。可以使用`NOT IN`或`LEFT JOIN`与`IS NULL`来实现。给出的解法是使用`NOT IN`子查询,找出分数小于等于80的学生,然后排除...
**题目描述**:有一个表格包含了学生的姓名、所学科目及分数,要求通过一条SQL语句找出所有科目分数都超过80分的学生姓名。 **SQL语句**: ```sql SELECT DISTINCT name FROM table WHERE name NOT IN ( SELECT ...
需要一条SQL语句来查询每个部门共有多少人。 **SQL语句示例:** ```sql SELECT COUNT(b.id) AS employee_count, a.departmentName FROM a LEFT JOIN b ON a.id = b.id GROUP BY a.departmentName; ``` **解析:** ...
- `FOR EACH ROW`表示对于每一条受影响的记录都触发一次。 - `OLD`表示被修改前的数据行,`NEW`表示被修改后的数据行。 **知识点总结:** - 存储过程是一系列预编译的SQL语句,可以在数据库中存储和复用。 - 触发器...
SQL 和 ORACLE 面试题知识点总结 在本节中,我们将从数据库基础、SQL 语言、视图、完整性约束、第三范式、ER 模型、索引、事务、锁、死锁、存储过程...* 写一条 SQL 语句让教师号、星期号、是否有课三个字段显示出来。
判断谁往表里增加了一条记录 - 使用`DBMS_AUDIT_TRAIL`包审计表的更改。 #### 44. 重构索引 - 使用`ALTER INDEX ... REBUILD`命令。 #### 45. Partitioning(分区)及其优点 - 分区可以提高查询性能。 - 便于管理...
最后,文章还提到了如何查询表中重复记录和如何删除重复记录只保留一条的SQL语句。查询重复记录时,利用Group By和Having子句来找到出现次数超过一次的记录。删除重复记录时,可以利用Exists子句配合Delete语句来...
在SQL面试中,掌握基础语法和能够高效地解决实际问题是非常关键的。下面我们将通过解析提供的面试题,来深入理解并学习SQL的一些核心概念。 ### 面试题1:差异化数据展示 题目要求根据`WorkResult`表中的成绩,...
### SQL常见面试题总结 #### 一、ROWNUM 使用技巧 **题目背景:** ROWNUM 是一个伪列,用于返回表中行的编号。它常用于限制查询结果的行数,例如在分页查询中。 **示例代码:** ```sql -- 示例1:查询最高薪水的...
以下是一系列关于SQL的面试题目和知识点,旨在帮助你理解和掌握SQL的基础以及进阶应用。 1. **基础查询操作**: - SELECT语句:用于从表中检索数据,可以指定列名、使用通配符(*)来选择所有列,或者使用WHERE子句...