2021-10-07

为了大家更容易理解我举出的SQL语句,本文假定已经建立了一个学生成绩管理数据库,全文均以学生成绩的管理为例来描述。
  1.在查询结果中显示列名:  a.用as关键字:select name as ‘姓名’ from students order by age  b.直接表示:select name ‘姓名’ from students order by age  2.精确查找:  a.用in限定范围:select * from students where native in (‘湖南’, ‘四川’)  b.between…and:select * from students where age between 20 and 30  c.“=”:select * from students where name = ‘李山’  d.like:select * from students where name like ‘李%’ (注意查询条件中有“%”,则说明是部分匹配,而且还有先后信息在里面,即查找以“李”开头的匹配项。所以若查询有“李”的所有对象,应该命令:’%李%’;若是第二个字为李,则应为’_李%‘或’_李’或’’。)  e.[]匹配检查符:select * from courses where cno like ‘[AC]%’ (表示或的关系,与"in(…)“类似,而且”[]“可以表示范围,如:select * from courses where cno like ‘[A-C]%’)  3.对于时间类型变量的处理  a.smalldatetime:直接按照字符串处理的方式进行处理,例如:select * from students where birth > = ‘1980-1-1’ and birth <= ‘1980-12-31’  4.集函数  a.count()求和,如:select count() from students (求学生总人数)  b.avg(列)求平均,如:select avg(mark) from grades where cno=’B2’  c.max(列)和min(列),求最大与最小  5.分组group  常用于统计时,如分组查总数:select gender,count(sno)from studentsgroup by gender(查看男女学生各有多少)  注意:从哪种角度分组就从哪列"group by"  对于多重分组,只需将分组规则罗列。比如查询各届各专业的男女同学人数 ,那么分组规则有:届别(grade)、专业(mno)和性别(gender),所以有"group by grade, mno, gender"select grade, mno, gender, count()from studentsgroup by grade, mno, gender  通常group还和having联用,比如查询1门课以上不及格的学生,则按学号(sno)分类有:select sno,count() from gradeswhere mark<60group by snohaving count()>1  6.UNION联合  合并查询结果,如:SELECT * FROM studentsWHERE name like ‘张%’UNION [ALL]SELECT * FROM studentsWHERE name like ‘李%’  7.多表查询  a.内连接select g.sno,s.name,c.coursenamefrom grades g JOIN students s ON g.sno=s.snoJOIN courses c ON g.cno=c.cno(注意可以引用别名)b.外连接b1.左连接select courses.cno,max(coursename),count(sno)from courses LEFT JOIN grades ON courses.cno=grades.cnogroup by courses.cno  左连接特点:显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全。  左外连接返回那些存在于左表而右表中却没有的行,再加上内连接的行。  b2.右连接  与左连接类似  b3.全连接select sno,name,majorfrom students FULL JOIN majors ON students.mno=majors.mno  两边表中的内容全部显示  c.自身连接select c1.cno,c1.coursename,c1.pno,c2.coursenamefrom courses c1,courses c2 where c1.pno=c2.cno  采用别名解决问题。  d.交叉连接select lastname+firstname from lastname CROSS JOIN firstanme  相当于做笛卡儿积  8.嵌套查询  a.用关键字IN,如查询李山的同乡:select * from studentswhere native in (select native from students where name=’ 李山’)  b.使用关键字EXIST,比如,下面两句是等价的:select * from studentswhere sno in (select sno from grades where cno=’B2’)select * from students where exists(select * from grades wheregrades.sno=students.sno AND cno=’B2’)  9.关于排序order  a.对于排序order,有两种方法:asc升序和desc降序  b.对于排序order,可以按照查询条件中的某项排列,而且这项可用数字表示,如:select sno,count(*) ,avg(mark) from gradesgroup by snohaving avg(mark)>85order by 3  10.其他  a.对于有空格的识别名称,应该用”[]"括住。  b.对于某列中没有数据的特定查询可以用null判断,如select sno,courseno from grades where mark IS NULL  c.注意区分在嵌套查询中使用的any与all的区别,any相当于逻辑运算“||”而all则相当于逻辑运算“&&”  d.注意在做否定意义的查询是小心进入陷阱:  如,没有选修‘B2’课程的学生 :select students.*from students, gradeswhere students.sno=grades.snoAND grades.cno <> ’B2’  上面的查询方式是错误的,正确方式见下方:select * from studentswhere not exists (select * from gradeswhere grades.sno=students.sno AND cno=‘B2’)  11.关于有难度多重嵌套查询的解决思想:  如,选修了全部课程的学生:select *from studentswhere not exists ( select *from courseswhere NOT EXISTS(select from gradeswhere sno=students.snoAND cno=courses.cno))  最外一重:从学生表中选,排除那些有课没选的。用not exist。由于讨论对象是课程,所以第二重查询从course表中找,排除那些选了课的即可。发布于2013-07-29著作权归作者所有相关推荐更多数据库简单SQL语句小结,菜鸟不可不看lwx296 0 下载简单SQL语句小结[转]caiyi0903 1436 阅读 0 评论2014年江苏省镇江市中考语文一模试卷.pdf吃不胖.技术 0 下载数字化转型之信息化技术架构规划-41页.pptx安全方案 0 下载新概念第二册-lesson-53课件PPT学习教案.pptxqq_37174420 0 下载康复专科试卷n1级题库.docwsbhm62 0 下载菜鸟不可不看简单SQL语句小结_zgqtxwd的专栏数据库菜鸟不可不看 简单SQL语句小结 10-13 本资源数是据库菜鸟不可不看 简单SQL语句小结,对于初学者有用的,可以快速入门。数据库简单SQL语句小结,菜鸟不可不看 05-01 数据库简单SQL语句小结,菜鸟不可不看数据库简单SQL语句小结…简单SQL语句小结 - CSDN博客为了大家更容易理解我举出的SQL语句,本文假定已经建立了一个学生成绩管理数据库,全文均以学生成绩的管理为例来描述。 1.在查询结果中显示列名:a.用as关键字:select name as ‘姓名’ from students order by age…SQL 语句小结_york_software的专栏SQL 语句小结 1.SELECT语句 sql=“select * from 数据表 where 字段名=字段值orderby字段名[desc]/[asc]” sql="selectfrom数据表where字段名like’%字段值%’ " sql="selecttop 10 *from数据表where字段名=字段值 "…基本的入门SQL语句总结_无解的菜鸟晖 的博客首先,先看看SQL语句都有哪些核心动词。 SQL包括以下一系列操作: 定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库。 对数据库中的数据进行查询和更新。 数据库重构和维护。 数据库安全性、完整性控制、以及事务控制。常用SQL语句总结_菜鸟专栏并非所有的数据库系统都支持select top 语句。 MySQL支持limit语句来选取指定的数目的数据, Oracle 使用ROWNUM来选取。 SQL server语法— SELECT TOP number|percent column_name(s) FROM table…一、个人总结的菜鸟教程|sql教程的知识点(SQL教程)_wei…alter database修改数据库 create table创建表 alter table修改表 drop table删除表 create index创建索引 drop index删除索引 set names utf8;设置使用的字符集 SQL语句对大小写不敏感。 2、SQL SELECT …湖南省2016年混凝土工施工前技术交底考试试卷.pdf月亮677 0 下载2015-2016学年江苏无锡天一实验学校七年级下学期期中语文试卷.pdf吃不胖.技术 0 下载湖北省黄冈中学自主招生物理试卷A卷.pdf月亮677 0 下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值