收藏 分享(赏)

mysql第六章.ppt

上传人:hwpkd79526 文档编号:7322150 上传时间:2019-05-14 格式:PPT 页数:14 大小:1.11MB
下载 相关 举报
mysql第六章.ppt_第1页
第1页 / 共14页
mysql第六章.ppt_第2页
第2页 / 共14页
mysql第六章.ppt_第3页
第3页 / 共14页
mysql第六章.ppt_第4页
第4页 / 共14页
mysql第六章.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、目标,掌握简单子查询的用法 掌握IN子查询的用法 掌握EXISTS子查询的用法,什么是子查询,学员信息表,问题: 编写T-SQL语句,查看年龄比“李斯文”大的学员,要求显示这些学员的信息 ?,分析: 第一步:求出“李斯文”的年龄; 第二步:利用WHERE语句,筛选年龄比“李斯文”大的学员;,什么是子查询,实现方法一:采用T-SQL变量实现,DECLARE age INT -定义变量,存放李斯文的年龄 SELECT age=stuAge FROM stuInfoWHERE stuName=李斯文 -求出李斯文的年龄 -筛选比李斯文年龄大的学员 SELECT * FROM stuInfo WHER

2、E stuAgeage GO,什么是子查询,实现方法二:采用子查询实现,SELECT * FROM stuInfo WHERE stuAge( SELECT stuAge FROM stuInfo where stuName=李斯文) GO,子查询,子查询在WHERE语句中的一般用法:SELECT FROM 表1 WHERE 字段1 (子查询)外面的查询称为父查询,括号中嵌入的查询称为子查询 将子查询和比较运算符联合使用,必须保证子查询返回的值不能多于一个,使用子查询替换表连接3-1,问题:查询笔试刚好通过(60分)的学员。,学员信息表和成绩表,使用子查询替换表连接3-2,实现方法一:采用表连

3、接,SELECT stuInfo .stuName FROM stuInfo INNER JOIN stuMarksON stuInfo.stuNo=stuMarks.stuNo WHERE writtenExam=60 GO,内连接(等值连接),使用子查询替换表连接,实现方法二:采用子查询,SELECT stuName FROM stuInfo WHERE stuNo=(SELECT stuNo FROM stuMarks WHERE writtenExam=60) GO,子查询,一般来说,表连接都可以用子查询替换,但有的子查询却不能用表连接替换 子查询比较灵活、方便,常作为增删改查的筛选条

4、件,适合于操纵一个表的数据 表连接更适合于查看多表的数据,IN子查询,问题:查询笔试刚好通过的学员名单(多于一个)。,如何解决?,IN子查询,解决方法:采用 IN 子查询,SELECT stuName FROM stuInfo WHERE stuNo IN(SELECT stuNo FROM stuMarks WHERE writtenExam=60) GO,将号改为IN,IN后面的子查询可以返回多条记录 常用IN替换等于()的比较子查询,IN子查询,问题:查询参加考试的学员名单,学员信息表和成绩表(重抓本图),分析: 判断一个学员是否参加考试其实很简单,只需要查看该学员对应的学号是否在考试成

5、绩表stuMarks中出现即可,IN子查询,/*-采用IN子查询进行查询参加考试的学员名单-*/ SELECT stuName FROM stuInfoWHERE stuNo IN (SELECT stuNo FROM stuMarks) GO,演示:使用IN子查询,NOT IN子查询,问题:查询未参加考试的学员名单,分析:加上否定的NOT 即可,EXISTS子查询 4-1,例如:数据库的存在检测,DROP DATABASE IF EXISTS stuDB; CREATE DATABASE stuDB;,EXISTS子查询,数据库中的表存在检测 drop table if exists student; create table student(),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报