VFsql3超连接与嵌套连接.ppt

上传人:牧羊曲112 文档编号:6522899 上传时间:2023-11-08 格式:PPT 页数:20 大小:436.50KB
返回 下载 相关 举报
VFsql3超连接与嵌套连接.ppt_第1页
第1页 / 共20页
VFsql3超连接与嵌套连接.ppt_第2页
第2页 / 共20页
VFsql3超连接与嵌套连接.ppt_第3页
第3页 / 共20页
VFsql3超连接与嵌套连接.ppt_第4页
第4页 / 共20页
VFsql3超连接与嵌套连接.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《VFsql3超连接与嵌套连接.ppt》由会员分享,可在线阅读,更多相关《VFsql3超连接与嵌套连接.ppt(20页珍藏版)》请在三一办公上搜索。

1、SELECT;FROM;INTO ARRAY 或INTO CURSOR 或 INTO DBF|TABLE 或TO FILE,设置查询去向,联接查询 普通连接超联接查询内联接查询左联接查询右联接查询全联接查询,普通连接 相当于 内联接,select*from A JOIN B ON A.h=B.h,INNER JOIN,select*from A,B where A.h=B.h,普通连接形式,内连接形式,and,where,A,B,普通连接 相当于 内联接,select*from 学生 JOIN 选课 ON 学生.学号=选课.学号,select*from 学生 INNER JOIN 选课 ON

2、学生.学号=选课.学号,select*from 学生,选课 where 学生.学号=选课.学号,学生,选课,普通连接形式,内连接形式,学生,选课,and 成绩80,where 成绩80,普通连接 相当于 内联接,select*from A JOIN B JOIN C ON B.m=C.m ON A.h=B.h,select*from A,B,C where A.h=B.h and B.m=C.m,普通连接形式,内连接形式,A,B,C,select*from(A JOIN B ON A.h=B.h)JOIN C ON B.m=C.m,与Join中的顺序相反,普通连接形式SELECT;FROM 学

3、生,选课,课程;WHERE学生.学号=选课.学号 and 选课.课程号=课程.课程号内连接形式1SELECT;FROM 学生 JOIN 选课 JOIN 课程 ON 选课.课程号=课程.课程号;ON 学生.学号=选课.学号注意:多个表用“JOIN”语句联接的顺序要与联接条件“ON”的顺序恰好相反。内连接形式2SELECT;FROM(学生 JOIN 选课 ON 学生.学号=选课.学号)JOIN 课程 ON 选课.课程号=课程.课程号,学生,选课,课程,注意:筛选记录条件必须写在WHERE子句中,超联接-左联接(内连记录+左表不满足条件的记录),select*from 学生 JOIN 选课 ON 学

4、生.学号=选课.学号,left,超联接-右联接(内连记录+右表不满足条件的记录),select*from 学生 right JOIN 选课 ON 学生.学号=选课.学号,超联接-全联接(内连记录+左右表不满足条件的记录),select*from 学生 full JOIN 选课 ON 学生.学号=选课.学号,练习(改错,OPEN DATABASE sdbSELECT 学号,姓名,AVG(成绩)平均成绩,COUNT(成绩)选课门数;FROM student JOIN sc OF student.学号=sc.学号;WHERE 性别=女 AND AVG(成绩)=75;GROUP BY 学号;ORDER

5、 BY 4 desc;INTO TABLE three,Student.学号,ON,HAVING AVG(成绩)=75;,Student.学号,练习(改错),SELECT 部门表.部门号,部门名,销售表.商品号,商品名,一季度利润+二季度利润+三季度利润+四季度利润 as 年销售利润;FROM 部门表,销售表,商品代码表;ON 销售表.商品号=商品代码表.商品号;ON 部门表.部门号=销售表.部门号;WHERE 销售表.年度=2006;ORDER 1,5;TO TABLE TABA,JOIN,JOIN,BY 1,5 DESC,INTO,嵌套查询,当Where后条件中的值必须由令一个查询语句得出

6、时,须在Where中使用子查询。这种机制叫嵌套查询。,例1:查询比李小华的入学成绩高的学生的学号、姓名和入学成绩。select 学号,姓名,入学成绩;from 学生;where 入学成绩,嵌套查询单值比较1,学号 姓名 性别 入学成绩001 李小华 女 525002 王艳芳 女 510003 吴海洋 男 560.,学生,525,(),select 入学成绩 from 学生 where 姓名=李小华,比较符号=!=),例2:查询比平均入学成绩低的学生信息select*;from 学生;where 入学成绩,学号 姓名 性别 入学成绩001 李小华 女 525002 王艳芳 女 510003 吴海

7、洋 男 560.,学生,嵌套查询单值比较2(统计单值),例3:查询比所有女生的入学成绩都高的学生信息select*;from 学生;where 入学成绩,例4:查询比所有女生的入学成绩都高的学生信息select*;from 学生;where 入学成绩 大于所有 女生的入学成绩,嵌套查询多值比较1(all),all,(Select 入学成绩 from 学生;Where 性别=“女”),学号 姓名 性别 入学成绩001 李小华 女 525002 王艳芳 女 510003 吴海洋 男 560.,学生,all大于所有=all大于等于所有all不等于所有!=all不等于所有,all 是全称量词,例5:查

8、询与学生001的某一科成绩相等的,其他学生的学号和课程号。select 学号,课程号;From 选课;where 成绩 等于某一个 001的成绩,嵌套查询多值比较2(any 或 some),=any,(Select 成绩 from 课程 Where 学号=“001”);,选课,any大于某一个=any大于等于某一个 any不等于某一个!=any 不等于某一个,any 或 some 是存在量词,学号 课程号 成绩 001 C001 95 001 C004 85 002 C001 90 003 C001 85 003 C003 86 004 C002 95,and 学号”001”,例6:查询选修了

9、C001课程的学生学号和姓名、性别。select 学号,姓名,性别;from 学生;Where 学号 在 选修了C001课程的学号集合,嵌套查询多值比较3(in),in,(Select 成绩 from 选课 Where 学号=“001”);,选课,学号 课程号 成绩 001 C001 95 001 C004 85 002 C001 90 003 C001 92 003 C003 86,学号 姓名 性别 入学成绩001 李小华 女 525002 王艳芳 女 510003 吴海洋 男 508,学生,学号是选修了C001课程的学号中的某一个,方法2:in 换成=any,方法3:连接查询,练习(改错,

10、*该命令文件用来查询与姚小敏同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位。查询结果输出到表TABC中。*该命令文件在第3行、第5行、第7行和第8行有错误,打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不允许增加、删除或合并行。OPEN DATABASE 宾馆SELECT 客户.客户号,身份证,姓名,工作单位;FROM 客户 JOIN 入住 WHERE 客户.客户号=入住.客户号WHERE 入住日期 IN;(SELECT;FROM 客户,入住;WHERE 姓名=姚小敏);TO TABLE TABC,(SELECT 入住日期;,WHERE 客户.客户号=入住.客户号 AND 姓名=姚小敏,INTO TABLE TABC,ON,练习(改错),SELECT 零件名称 FROM 零件信息 WHERE 零件号=;(SELECT 零件号 FROM 使用零件;GROUP BY 项目号 HAVING COUNT(项目号)=3);ORDER BY 零件名称;INTO FILE results,IN,零件号,练习(改错),SELECT COUNT(现价-买入价)*持有数量);FROM stock_sl;WHERE 股票代码;=;(SELECT 股票代码 FROM stock_name;WHERE 银行 LIKE 股票简称),SUM,IN,银行$股票简称,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号