VFsql1基本语句普通连接课件_第1页
VFsql1基本语句普通连接课件_第2页
VFsql1基本语句普通连接课件_第3页
VFsql1基本语句普通连接课件_第4页
VFsql1基本语句普通连接课件_第5页
已阅读5页,还剩23页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、VFsql1基本语句普通连接SQL语言(1)数据查询 SELECT(2)数据定义 CREATE、DROP、ALTER(3)数据修改 INSERT、UPDATE、DELETE(4)数据控制 GRANT、REVOKEVFsql1基本语句普通连接SELECTSELECT语句格式以及说明语句格式以及说明SELECT ALL|DISTINCT TOP|PERCENT, AS FROM ,WHERE GROUP BY HAVING ORDER BY ASC|DESCINTO ARRAY |INTO CURSOR |INTO DBF|TABLE |TO FILE ADDITIVE|TO PRINTERPRO

2、MPTVFsql1基本语句普通连接一一. .简单查询简单查询( (对单表的查询对单表的查询 )Select From From 后接表名,指定查询的信息来自于哪些表。例:From 学生 From 学生,选课,课程Select 字段名(*)、表达式,用来指定查询结果有那些列。例:Select * Select 学号,姓名 Select 性别,学号+姓名 女男女男性别性别21222223年龄年龄Bob004Bob003Alice002Tom001姓名姓名学号学号学生学生.dbf.dbf例1:Select * From 学生女男女男性别性别21222223年龄年龄Bob004Bob003Alice0

3、02Tom001姓名姓名学号学号Select 学号,姓名; From 学生Select 性别,学号+姓名; From 学生Bob004Bob003Alice002Tom001姓名姓名学号学号女男女男性别性别004Bob003Bob002Alice001TomExp_2Exp_2VFsql1基本语句普通连接学号学号姓名姓名性别性别年龄年龄001Tom男23002Alice女22003Bob男22004Bob女21学生.dbf例:查询所有学生的学号和年龄信息Select 学号,年龄 From 学生学号学号年龄年龄00123002220032200421例:查询年龄大于22的学生的学号和年龄信息Se

4、lect 学号,年龄 From 学生 Where 年龄22学号学号年龄年龄00123例:查询年龄大于22的男生的学号和年龄信息Select 学号 From 学生 Where 性别=“男”and 年龄20 Where 学生.学号=选课.学号VFsql1基本语句普通连接利用DISTINCT关键字去掉查询结果中的重复记录选课.dbfSELECT 学号 FROM 选课SELECT DISTINCT 学号 FROM 选课VFsql1基本语句普通连接Select 教师号,姓名 As Name;From 教师 ;where 性别=男查询结果中的字段可以用查询结果中的字段可以用AsAs关键字重新命名关键字重新

5、命名教师.dbfVFsql1基本语句普通连接Select 教师号,姓名 As nameFrom 教师 ;where 性别=男经常用经常用AsAs关键字为新生成字段重新命名关键字为新生成字段重新命名教师.dbf例:查询男教师的教师号、姓名和年龄信息,要求查询结果的字段分别显示为“教师号”、“Name”和“年龄”, Year(Date()-Year(生日) As 年龄 ;VFsql1基本语句普通连接简单查询操作练习简单查询操作练习习题1: 查询属于党员的教师姓名和职称习题2: 查询男教师且副教授教师的所有信息习题3: 查询所有姓刘或姓王的教师的教师号和年龄教师.dbfSelect 姓名,职称 Fr

6、om 教师 Where 党员否=.T.Select * From 教师 Where 性别=男 And 职称=副教授select 教师号, year(date()-year(生日) as 年龄 ;from 教师; where left(姓名,2)=刘 or left(姓名,2)=王VFsql1基本语句普通连接用用orderorder关键字对查询结果排序关键字对查询结果排序SELECT ;FROM ;ORDER BY ASC|DESC , ASC|DESC , (注:字段名可以用字段序号代替,两种情况)学号姓名性别年龄年龄004Bob女2121002Alice女2222003Bob男2222001

7、Tom男2323SELECT * FROM 学生;ORDER BY 年龄SELECT * FROM 学生;ORDER BY 年龄 DESC年龄年龄姓名性别2323Tom男2222Alice女2222Bob男2121Bob女 44SELECT 年龄,姓名,性别 FROM 学生;ORDER BY 年龄1VFsql1基本语句普通连接用用order对多个关键字排序对多个关键字排序学号姓名性别年龄004Bob女21002Alice女22003Bob男22001Tom男23SELECT * FROM 学生;ORDER BY 性别 DESC,学号例:先按年龄升序排列,年龄相同的再按学号降序排列VFsql1基

8、本语句普通连接SELECT TOP|PERCENT ;FROM ;ORDER BY;保留排序结果的前保留排序结果的前n(百分之百分之n)条记录条记录SELECT *;FROM student;ORDER BY 英语 DESC;SELECT *;FROM student;ORDER BY 英语;查询英语成绩前10名的学生记录。查询按英语成绩升序排序前百分之20名的学生记录。TOP 20 PERCENTTOP 10VFsql1基本语句普通连接二.联接查询(查询操作涉及到两个或两个以上的表时用连接查询)学生.dbf选课.dbf课程.dbf 教师.dbf 例:查询所有女学生体育课程的学号和成绩信息。V

9、Fsql1基本语句普通连接学号学号 姓名姓名 性别性别 入学成绩入学成绩001 李小华 女 525002 王艳芳 女 510003 吴海洋 男 508 学号学号_A 姓名姓名 性别性别 入学成绩入学成绩 学号学号_B 课程号课程号 成绩成绩 学号学号 课程号课程号 成绩成绩 001 C001 95 001 C004 85 002 C001 90 003 C001 92 003 C003 86学生学生 001 李小华 女 525 001 C001 95 001 李小华 女 525 001 C004 85 001 李小华 女 525 002 C001 90 001 李小华 女 525 003 C0

10、01 92 001 李小华 女 525 003 C003 86 002 王艳芳 女 510 001 C001 95 002 王艳芳 女 510 001 C004 85 002 王艳芳 女 510 002 C001 90 002 王艳芳 女 510 003 C001 92 002 王艳芳 女 510 003 C003 86 003 吴海洋 男 508 001 C001 95 003 吴海洋 男 508 001 C004 85 003 吴海洋 男 508 002 C001 90 003 吴海洋 男 508 003 C001 92 003 吴海洋 男 508 003 C003 86 selectse

11、lect * * fromfrom 学生学生, ,选课选课选课选课1.无条件无条件联接查询联接查询 无意义!VFsql1基本语句普通连接例:查询学生的学号、姓名、课程号和成绩的信息选课选课 学生学生 select * from 学生,选课select 学生.学号,姓名,课程号,成绩 from 学生,选课 where 学生.学号=选课.学号2.条件条件联接查询联接查询 where 学生.学号=选课.学号VFsql1基本语句普通连接增加条件:增加条件:select 学生.学号,姓名,课程号,成绩 from 学生,选课 ;where 学生.学号=选课.学号 and 成绩90VFsql1基本语句普通连

12、接选课选课 学生学生 2.条件条件联接查询联接查询 例:查询学生的学号、姓名、课程号和成绩的信息例:查询成绩不及格的学生姓名例:查询查询入学成绩小于500的选课信息例:查询姓李的学生的课程号末两位信息。VFsql1基本语句普通连接例:查询学生的学号、姓名、课程号、课程名和成绩的信息。选课选课 学生学生 课程 select from where 学生.学号,姓名,选课.课程号,课程名,成绩;学生,选课,课程;学生.学号=选课.学号 and 选课.课程号=课程.课程号三个表条件三个表条件联接查询联接查询 VFsql1基本语句普通连接联接查询练习联接查询练习习题习题1: 查询选修查询选修“大学计算机

13、基础大学计算机基础”学生的学号信息学生的学号信息select from where 习题习题2: 查询选修查询选修“大学计算机基础大学计算机基础”学生的学号、姓名、成绩信息学生的学号、姓名、成绩信息select from where 选课选课 学生学生 课程课程 学号学号;选课选课,课程课程;选课选课.课程号课程号=课程课程.课程号课程号 and 课程名课程名= 大学计算机基础大学计算机基础学生学生.学号学号,姓名姓名,成绩成绩;学生学生,选课选课,课程课程;学生学生.学号学号=选课选课.学号学号 and 选课选课.课程号课程号=课程课程.课程号课程号 and 课程名课程名=大学计算机基础大学

14、计算机基础注:在注:在Visual FoxPro6.0环境中实现环境中实现VFsql1基本语句普通连接例:查询所有课程的先行课信息 SELECTFROMWHERE 自联接自联接课程表 A,课程表 BA.课程名, 的先行课是, B.课程名A.先行课= B.课程号VFsql1基本语句普通连接 简单查询(单表) 联接查询(多表)无条件联接查询条件联接查询超联接查询内联接查询左联接查询右联接查询全联接查询【超联接查询格式】SELECTFROM I NNER | LEFT | RIGHT | FULL JOIN ON WHEREVFsql1基本语句普通连接超联接-内联接(满足条件就相连)select *

15、 from 学生 JOIN 选课 ON 学生.学号=选课.学号select * from 学生 INNER JOIN 选课 ON 学生.学号=选课.学号或select * from 学生 where 学生.学号=选课.学号 (就是内联结)VFsql1基本语句普通连接超联接-左联接(内连记录+左表不满足条件的记录)select * from 学生 left JOIN 选课 ON 学生.学号=选课.学号VFsql1基本语句普通连接超联接-右联接(内连记录+右表不满足条件的记录)select * from 学生 right JOIN 选课 ON 学生.学号=选课.学号VFsql1基本语句普通连接超联接-全联接(内连记录+左右表不满足条件的记录)select * from 学生 full JOIN 选课 ON 学生.学号=选课.学号VFsql1基本语句普通连接对查询结果排序使用ORDER BY语句按照一个或多个字段对查询结果进行升序(ASC)或降序(DESC)排列,默认为升序排列。 对于空值排序,升序时空值记录将最后显示,降序时将最先

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论