0 0

求一条面试的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个答案 按时间排序 按投票排序

0 0

看看这个贴子

http://www.rugesy.cn/it/20050901_11_4243968.html

2010年3月27日 16:50
0 0

可以这样考虑:

如果对每一门课,每个学生最多只能选一次的话(选或是不选),那么选所有课程的学生的选课数和课程总数是相同的:

引用
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
0 0

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

相关推荐

    SQL面试题目-sqlServer

    题目 1: 用一条 SQL 语句查询出每门课都大于 80 分的学生姓名 答案:select distinct name from table where name not in (select distinct name from table where fenshu) 解释:这道题目考察了候选人对 SQL 语句...

    经典sql面试题

    根据题目描述,我们需要实现的功能是:对于除“学号”字段外的所有字段都相同的记录,仅保留一条,其余的都需要被删除。 **数据库设计** 首先,题目给出了一个名为`tbl_students`的表,该表包含以下字段: - `id`...

    SQL面试题目,有例子。

    根据提供的信息,我们可以详细解析这些SQL面试题目以及给出的示例答案,并且深入理解每一道题目背后的原理与应用场景。 ### 風险1: 查询身份证号码为440401430103082的申请日期 #### 问题描述 此题目要求查询在`g_...

    sql面试题(适合软件测试)

    根据提供的文件内容,我们可以整理出以下几个SQL面试题及其解答,这些问题主要聚焦于SQL查询技巧、数据处理以及数据结构的理解。 ### 1. 查询每门课都大于80分的学生姓名 **题目描述**:给定一张成绩表,其中包含...

    sql面试题很详细的sql语句面试题

    问题:使用一条SQL语句查询出每门课都大于80分的学生姓名。 解决方案:select distinct name from table where name not in (select distinct name from table where fenshu) 这个解决方案使用了NOT IN子句来排除...

    数据库面试题索引sql优化

    **题目1:** 给定一张表`table1`有两个字段`FID`,`Fno`,编写一个SQL语句来列出该表中一个`FID`对应多个不同的`Fno`的记录。 **解答:** ```sql SELECT * FROM table1 WHERE FID IN ( SELECT FID FROM table1 ...

    sqlserver数据库著名上级面试题目

    在SQL Server数据库面试中,掌握一系列关键操作是至关重要的。以下是一些常见面试题目的详细解答,涵盖了数据检索、表复制、数据转换以及临时表的使用等知识点。 1. **查询特定范围的记录** - 当需要查询第30到第...

    SQL高级面试题及答案

    以下是一些关于SQL高级面试题的关键知识点,以及它们的解释和应用: 1. **复制表(只复制结构)**: - 使用`SELECT * INTO`语句,配合`WHERE 1<>1`或`TOP 0 *`,可以创建一个新表并复制源表的结构,但不包含数据。...

    经典SQL面试练习50多道题(含答案).docx

    例如题目中,删除除学号id字段以外,其他字段都相同的冗余数据,只保留一条记录。这种情况下,可以使用NOT IN子句来删除重复的记录。 SQL 语句:DELETE FROM tbl_students WHERE id NOT IN (SELECT MID FROM ...

    sql经典面试题

    根据提供的文件内容,我们可以整理出一系列与SQL相关的面试题及解答思路。这些题目涵盖了SQL的基础查询、数据处理、以及更高级的功能应用等多方面内容,非常适合准备数据库工程师面试的求职者进行练习。下面是针对每...

    mysql server sql面试题

    - 题目1中,用一条SQL语句查询出每门课都大于80分的学生姓名,这涉及到了子查询的使用。可以使用`NOT IN`或`LEFT JOIN`与`IS NULL`来实现。给出的解法是使用`NOT IN`子查询,找出分数小于等于80的学生,然后排除...

    Sql常见面试题

    **题目描述**:有一个表格包含了学生的姓名、所学科目及分数,要求通过一条SQL语句找出所有科目分数都超过80分的学生姓名。 **SQL语句**: ```sql SELECT DISTINCT name FROM table WHERE name NOT IN ( SELECT ...

    SQL经典面试题

    需要一条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; ``` **解析:** ...

    Sql面试题大全

    - `FOR EACH ROW`表示对于每一条受影响的记录都触发一次。 - `OLD`表示被修改前的数据行,`NEW`表示被修改后的数据行。 **知识点总结:** - 存储过程是一系列预编译的SQL语句,可以在数据库中存储和复用。 - 触发器...

    sql面试题\oracle面试题目

    判断谁往表里增加了一条记录 - 使用`DBMS_AUDIT_TRAIL`包审计表的更改。 #### 44. 重构索引 - 使用`ALTER INDEX ... REBUILD`命令。 #### 45. Partitioning(分区)及其优点 - 分区可以提高查询性能。 - 便于管理...

    sql面试题大全

    最后,文章还提到了如何查询表中重复记录和如何删除重复记录只保留一条的SQL语句。查询重复记录时,利用Group By和Having子句来找到出现次数超过一次的记录。删除重复记录时,可以利用Exists子句配合Delete语句来...

    SQL基础面试题,一条语句解决问题

    在SQL面试中,掌握基础语法和能够高效地解决实际问题是非常关键的。下面我们将通过解析提供的面试题,来深入理解并学习SQL的一些核心概念。 ### 面试题1:差异化数据展示 题目要求根据`WorkResult`表中的成绩,...

    Sql常见面试题(总结)

    ### SQL常见面试题总结 #### 一、ROWNUM 使用技巧 **题目背景:** ROWNUM 是一个伪列,用于返回表中行的编号。它常用于限制查询结果的行数,例如在分页查询中。 **示例代码:** ```sql -- 示例1:查询最高薪水的...

    SQL面试题目 培训考试

    以下是一系列关于SQL的面试题目和知识点,旨在帮助你理解和掌握SQL的基础以及进阶应用。 1. **基础查询操作**: - SELECT语句:用于从表中检索数据,可以指定列名、使用通配符(*)来选择所有列,或者使用WHERE子句...

Global site tag (gtag.js) - Google Analytics