下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SQL的简单查询实例教程 关键词:菜鸟学数据库之简单 SQL语句小结 为了大家更容易 理解我举出的SQL语句,本文假定已经建立了 一个学生成绩管理数据 库,全文均以学生成绩的管理为例来描述。 1. 在查询结果 中显示列名: a. 用 as 关键字: select name as 姓名from students order by age b. 直接表示 :select name 姓名from studentsorder by age 2. 精确查找: a. 用 in 限定范围:select * from students where native in ( 湖南,四川) b. between.a
2、nd: select * from students where age between 20 and 30 c. “ =” select * from students where name =李山 d. like:select * fromstudentswhere name like 李%(注意查询条件中有“, 则说明是部分匹配,而且还有先后信息在里面,即查找以李”开头的匹配项。所以若查询 有 李”的所有对象,应该命令:李:若是第二个字 为李,则应为_李%或_李或_李 _。) e. 匹配检查符:select * from courses 与in(.)类似,而且可以表示范围,如: A-C%
3、) where cno like AC%(表示或的关系, select * from courses where cno like 3. 对于时间类型变量的处理 a. smalldatetime :直接按照字符串处理的方式 进行处理,例如: 1980-12-31 select * from students where birth =1980-1-1 and birth = 4. 集函数 a. count() 求和,如:select count(*)from students(求学生总人数) b. avg( 歹U)求平均,如: select avg(mark) from grades wher
4、e cno= B2 c. max(列)和min(列),求最大与最小 5. 分组 group 常用于统计时,如分组查总数: select gender,count(sno) from students group by gender (查看男女学生各有多少) 注意:从哪种角度分组就从哪列group by 对于多重分组,只需将分组规则罗列。比如查询各届各专业的男女同学人数,那么分 组规则有:届别(grade)、专业(mno)和性别(gender),所以有group by grade, mno, gen der select grade, mno, gender, count(*) from stu
5、dents group by grade, mno, gender 通常group还和having 联用,比如查询1门课以上不及格的学生,则按学号(sno) 分类有: select sno ,co un t(*)from grades where mark1 6. UNION 联合 合并查询结果,女口: SELECT * FROM students WHERE name like 张 UNION ALL SELECT * FROM students WHERE name like 李 7. 多表查询 a.内连接 select g.sno,,c.coursename from gra
6、des g JOIN students s ON g.sno=s.sno JOIN courses c ONo=o (注意可以引用别名) b. 外连接 b1.左连接 select o,max(coursename),count(sno) from courses LEFT JOIN grades ON o=o group by o 左连接特点:显 示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。 左外连接返回那 些存在于左表而右表中却没有的行,再加上内连接的行。 b2.右连接 与左连接类似 b3.全连接 select sno,name,major from students FUL
7、L JOIN majors ONstudents.mno=majors.mno 两边表中的内容 全部显示 c. 自身连接 select c1.c no ,c1.course name,c1.p no ,c2.course name from courses c1,courses c2 where c1.pno=o 采用别名解决问题。 d. 交叉连接 select last name+first namefrom last name CROSS JOIN firsta nme 相当于做笛卡儿积 8. 嵌套查询 a. 用关键字IN,如查询李山的同乡: select * from stude nts
8、 where native in (select native fromstudents where name= 李山) b. 使用关键字EXIST,比如,下面两句是等价的: select * from stude nts where sno in (select sno from grades where cno= B2) select * from stude nts where exists (select * from grades where grades.s no=stude nts.s no AND cno= B2 ) 9. 关于排序order a.对于排序order ,有两种方
9、法:asc升序和desc降序 b.对于排序order,可以按照查询条件中的某项 排列,而且这项可用数字表示,如: select sno ,co un t(*),avg(mark) from grades group by sno hav ing avg(mark)85 order by 3 10. 其他 a. 对于有空格的识别名称,应该用括住。 b. 对于某列中没有数据的特定查询可以用null判断,如select snocoursenofrom grades where mark IS NULL c. 注意区分在嵌套查询中使用的any与all的区别,any相当于逻辑运算“而all则 相当于逻辑
10、运算& ” d. 注意在做 否定意义的查询是小心进入陷阱: 女口,没有选修B2 课程的学生: select students.* from students, grades where students.sno=grades.sno AND o B2 上面的查询方式 是错误的,正确方式见下方: select * from stude nts where not exists (select * from grades where grades.sno=students.snoAND eno=B2) 11. 关于有难度多重嵌套查询 的解决思想: 女口,选修了全部 课程的学生: select * from students where not exists ( select * from
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版劳动者劳动社会保险合同(特殊工种)3篇
- 二零二五版水沟施工与承包劳务合同范本2篇
- 二零二五版家政服务公司家政服务与品牌建设合同3篇
- 二零二五版宅基地使用权转让与房屋租赁一揽子合同2篇
- 二零二五版远程办公劳动合同签订与工作质量监控3篇
- 二零二五版办公用品耗材行业联盟采购合同2篇
- 二零二五版旅游租车服务合同范本2篇
- 2025年草原草原生态保护与资源合理利用合同3篇
- 二零二五版家具原料采购合同与供应链管理协议3篇
- 展会市场调研服务合同(2篇)
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读
- 产品共同研发合作协议范本5篇
- 风水学的基础知识培训
- 2024年6月高考地理真题完全解读(安徽省)
- 吸入疗法在呼吸康复应用中的中国专家共识2022版
- 1-35kV电缆技术参数表
- 信息科技课程标准测(2022版)考试题库及答案
- 施工组织设计方案针对性、完整性
- 2002版干部履历表(贵州省)
- DL∕T 1909-2018 -48V电力通信直流电源系统技术规范
- 2024年服装制版师(高级)职业鉴定考试复习题库(含答案)
评论
0/150
提交评论