`
Supanccy2013
  • 浏览: 226207 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

sql exsits 用法

sql 
阅读更多
--创建学生表
create table student(sno varchar2(20),sname varchar2(20));
--创建课程表
create table course(cno varchar2(20),cname varchar2(20));
--创建学生课程关联表
create table sc(sno varchar2(20),cno varchar2(20));

--初始化学生表数据
insert into student values('200215121','李勇');
insert into student values('200215122','刘晨');
insert into student values('200215123','王敏');
insert into student values('200215124','张立');

--初始化课程表数据
insert into course values('1','数据库');
insert into course values('2','数学');
insert into course values('3','信息系统');
insert into course values('4','操作系统');
insert into course values('5','数据结构');
insert into course values('6','数据处理');
insert into course values('7','PASCAL语言');

--初始化学生,课程表数据
insert into sc values('200215121','1');
insert into sc values('200215121','2');
insert into sc values('200215121','3');
insert into sc values('200215121','4');
insert into sc values('200215121','5');
insert into sc values('200215121','6');
insert into sc values('200215121','7');
insert into sc values('200215121','2');
insert into sc values('200215121','3');
insert into sc values('200215122','4');
insert into sc values('200215122','5');

--查询选修了课程号为1的学生姓名
--方法一:
select sno from student
  where
     exists
       (select * from sc where student.sno = sno and cno = '1')
--方法二:
select student.sno
from student,sc
where student.sno = sc.sno and sc.cno = '1';

--方法三
select  student.sname from student
where student.sno in
     (select sc.sno from sc where sc.cno = '1');

--查询没有选修课程1的学生姓名
select sname from student
     where not exists(select * from sc where student.sno = sc.sno and sc.cno = '1')
     
--查询选修全部课程的学今生姓名     
--方法一:
select Sname
from Student
where not exists
          (
                 select *
                 from Course
                 where not exists
                           (
                                 select *
                                 from  SC
                                 where Sno=Student.Sno AND
                                            Cno=Course.Cno
                           ) );
--方法二:                           
select student.sno
from student  where student.sno in
(select sc.sno from sc group by sc.sno having count(*) = (select count(*) from course));
     
分享到:
评论

相关推荐

    sqlserver中判断表或临时表是否存在

    判断数据表是否存在可以使用两种方法。 方法一:使用 object_id 函数 使用 `object_id` 函数可以判断数据表是否存在,语法如下: ```sql IF OBJECT_ID('tablename', 'U') IS NOT NULL PRINT '存在' ELSE PRINT '...

    sqlserver exists,not exists的用法

    下面我们将详细讨论这两个子句的用法,并结合给定的例子来解释它们的工作原理。 首先,`EXISTS` 子句的基本语法是: ```sql SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name(s) FROM ...

    MySQL查询优化

    4 in和exsits优化 5 count(*)查询优化 笔者使用的MySQL版本是8.0.13。 1 索引优化 《MySQL索引优化》 2 分页查询优化 很多时候我们业务系统实现分页功能可能会用如下sql实现: select * from employees limit ...

    数据库设计开发规范-阿里.pdf

    - **编码规范**: 使用SQL操作数据库前,必须由useDB_name开始;如果需要事务支持,关闭自动提交;禁止在代码中出现DDL语句;使用NOW()获取当前时间;给每个字段指定表名前缀;避免不必要的排序;避免在WHERE子句中对...

    Redis的持久化存储redis-storage.zip

    ds:error_if_exists 0 //if the opened database exsits will throw exception ds:paranoid_checks 0 ds:block_cache_size 10000 ds:write_buffer_size 100000000 //写缓存大小 ds:block_size 4096 ds:max_open_...

    传感技术中的解析水温水位传感器

    关键词:传感器 高温 密封 水垢 干扰abstract:This text analyzed the water temperature water level primarily to spread the machine that feels now the some problem exsits, and put forward the homologous ...

Global site tag (gtag.js) - Google Analytics