DROP TABLE IF EXISTS "test"."course";
CREATE TABLE "test"."course" (
"cno" varchar(50) NOT NULL,
PRIMARY KEY ("cno")
) ENGINE=InnoDB DEFAULT CHARSET=latin1;//课程表
DROP TABLE IF EXISTS "test"."sc";
CREATE TABLE "test"."sc" (
"sno" varchar(50) NOT NULL,
"cno" varchar(45) NOT NULL,
PRIMARY KEY ("sno","cno")
) ENGINE=InnoDB DEFAULT CHARSET=latin1;//选课表
DROP TABLE IF EXISTS "test"."student";
CREATE TABLE "test"."student" (
"sno" varchar(50) NOT NULL,
PRIMARY KEY ("sno")
) ENGINE=InnoDB DEFAULT CHARSET=latin1;//学生表
//所有 没选择全部课程的学生
select * from student where exists(select * from course where not exists(
select * from sc where student.sno=sc.sno and course.cno=sc.cno
))
//所有 选择全部课程的学生
select * from student where not exists(select * from course where not exists(
select * from sc where student.sno=sc.sno and course.cno=sc.cno
))
//...
参考http://wenku.baidu.com/view/567b4a4333687e21af45a93c.html,但是里面的解释有误,故mark在此
但是文章中对于in和exists的适用范围的描述还是比较有说服力的
分享到:
相关推荐
在上述的SQL语句复习题目中,我们涉及到了数据库的创建、数据查询以及聚合函数的使用等多个关键知识点。 首先,我们创建了三个基本表:学生表(Student),课程表(Course)和学生选课表(SC)。在创建表的过程中,我们...
- **SQL的EXISTS与NOT EXISTS**:这两个关键字用于检查子查询的结果集是否存在。`EXISTS`会在子查询返回任何结果时返回真,而`NOT EXISTS`则相反,只有在子查询未返回任何结果时才返回真。例如,在关联表查询中,`...
题目中的查询涉及到多种SQL操作,如`SELECT`、`FROM`、`JOIN`、`WHERE`、`NOT EXISTS`、`GROUP BY`、`HAVING`、`DISTINCT`等,用于获取满足特定条件的数据。 3. 联接查询(JOIN):在查询1和2中,使用了多表联接,...
无论您是一位 SQL 的新手,或是一位只是需要对 SQL 复习一下的资料仓储业界老将,您 就来对地方了。这个 SQL 教材网站列出常用的 SQL 指令,包含以下几个部分: ♦ SQL 指令: SQL 如何被用来储存、读取、以及处理...
最后,对于读者来说,无论你是SQL新手,还是需要复习SQL知识的老手,通过半天的时间学习和实践,本教材期望能够帮助你达到一个对SQL基础有良好掌握的水平。通过逐个学习这些基础知识点,逐步构建起对SQL的理解,你将...
根据给定的文件信息,我们可以总结出以下与SQL Server相关的知识点: ### 1. SQL Server 存储过程的创建及执行 #### 题目描述: - 创建一个存储过程 `proc_score`,其中包含两个参数:`@passcd int = 60` 和 `@...
- **题目解析**:`EXISTS`前应使用`NOT`关键字来表示否定逻辑。 - **正确答案**:**B**. #### 7. T-SQL 变量 - **知识点说明**:T-SQL中使用`@`来声明变量,`@@`表示系统级变量。 - **正确答案**:**A**. #### 8. ...
总结:这个考试复习题涵盖了SQL查询、关系代数、数据库更新操作、视图创建以及关系数据库理论,全面考察了数据库设计与管理的知识点。通过这些题目,学生可以复习并掌握如何使用SQL进行数据查询和更新,创建视图,...
- **SQL语句**: `SELECT J.jname FROM J WHERE NOT EXISTS (SELECT * FROM SPJ JOIN P ON SPJ.pno = P.pno JOIN S ON SPJ.sno = S.sno WHERE S.city = '天津' AND P.color = '红色' AND SPJ.jno = J.jno);...
* 创建数据库:create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则]; * 删除数据库:drop database [if exists] 数据库名; * 使用数据库:use 数据库名; 五、表操作 * 查询...
本教程旨在介绍SQL中的基本语法、表格处理方法以及一些进阶概念,帮助初学者快速入门,同时为有一定基础的读者提供复习材料。 首先,让我们来详细了解SQL指令SELECT的作用。SELECT是最常用的SQL指令之一,它用于从...
10. `DROP TABLE`命令:用于删除数据库中的表,语法是`DROP TABLE [IF EXISTS] 表名`。 11. `ORDER BY`用法:在SQL中,`ORDER BY`后的`DESC`关键字表示降序排序。 12. 数据库三级模式:数据库的三级模式结构包括外...
这两个查询都实现了查找未使用天津产零件的工程项目编号的目标,第一个查询使用了 `NOT EXISTS` 来排除不符合条件的记录,而第二个查询则使用了 `<>` 运算符直接过滤掉不匹配的记录。 ##### 3.8 把全部红色零件的...
### 数据库系统概论复习重点解析 #### 一、内模式、模式与外模式 - **内模式(Internal Schema)**:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 - **模式(Schema)**:是对数据库中全体...
### SQL21天学习知识点详述 #### 第一天:SQL简介 - **SQL简史**: - SQL(Structured Query Language)是一种用于管理和...这份学习资料不仅适合初学者入门,对于有一定基础的读者来说也是很好的复习和提升材料。
- **扩展查询谓词** 如 BETWEEN, IS NULL, LIKE, IN, NOT IN, SOME, ANY, ALL 和 EXISTS 提供更复杂的过滤条件。 - **分组统计查询** 使用 GROUP BY 和 HAVING 子句进行聚合操作。 **第四章:对象-关系 SQL** - **...
3. 子查询:理解如何在查询中嵌套查询,以及如何使用IN、NOT IN、EXISTS、NOT EXISTS等子查询来实现更复杂的逻辑。 4. 视图:学习创建和使用视图,以简化复杂的查询或保护数据安全。 5. 存储过程和触发器:了解...
- "not exists"可能涉及SQL查询中的NOT EXISTS子句,用于查找不满足特定条件的行。 这些课件为学习者提供了全面的数据库基础知识,不仅适用于课堂学习,也适用于自学和复习。通过深入学习这些内容,学生将能够设计...