问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

有什么好的书籍和资料能够慢慢强化我的SQL编写能力么??我只要涉及到一些复杂的报表 这个查询sql就发愁!

发布网友 发布时间:2022-04-30 02:52

我来回答

2个回答

懂视网 时间:2022-04-30 07:14

SQL语言强化
多表设计
数据表与数据表之间的关系有三种,一对一,一对多,多对多
多对多案例;项目与程序员
一个项目可以由多个程序员参与,一个程序员可以参与多个项目开发。
在多对多关系中,表示两方之间关系设计数据表时,必须引入第三张数据表将项目与程序员对应,同时引用另两张实体表的主键作为外键,在多对多关系中常会出现一种关系属性模式两张表共同确定的,如一个学生的某门课程的成绩,是存储在关系表中的

一对多案例;老师与课程
一个老师可以教授多门课程,一个课程只能被一个老师教授
在一对多关系中,不需要建立第三张数据表,可以在多的一方添加一的一方的主键作为外键

一对一案例;班级与班长
一个班级只能有一个班长,一个班长只能管理一个班级
一对一的关系比较少见,在两表的任何一方添加另一方主键作为外键


多表查询
笛卡尔积
当两个数据表进行关联查询时,用第一张数据表的每条记录去匹配第二张数据表的每条记录
select* from A,B;
笛卡尔积单独使用的时候是没有意义的,在实际开发中需要获得有意义的结果即需要进行连接查询
select * from A,b where A.A_ID=B.A_ID;
第一张表10条数据
第二张表20条数据
返回结果是200条数据
此处使用的是内连接,将两张表具有相同意义的字段连接起来进行相等匹配,
写法两种
select * from a inner join b on a.id=b.id
select * from a,b where a.id=b.id
第一张表10条数据
第二张表20条数据
返回结果小于200条数据
外连接
外连接分为三种,左外连接,右外连接,全外连接
左外连接;用第一张表的每条记录去匹配第二张表的对应记录,无论是否找到匹配信息,都会显示出第一张表出现的记录的信息,无法找到的信息以null显示。
select *from a left outer join b on a.id=b.id
第一张表10条数据
第二张表20条数据
返回结果为10条数据
右外连接,用第二张表的每条记录去匹配第一张表的对应记录,无论是否找到第二张表出现的记录都会显示
select * from a right outer join b on a.id=b.id
第一张表10条数据
第二张表20条数据
返回结果20条数据
全外连接,左外连接和右外连接的结果和排除掉重复数据
select * from a full outer join b on a.id=b.id;
注意在mysql中不支持全外连接,需要使用union关键字实现全连接效果
select *from a left outer join b on a.id=b.id
union
select * from a right outer join b on a.id=b.id;

关联子查询
将一个查询结果作为第二个查询的条件
查询一个学生表中年龄最大的学员的信息
select * from student where age=(select max(age) from student);
等价于
select max(age) from student;返回最大年龄25
select * from student where age=25
关键字
in/exists当前查询的记录在子查询结果中存在
查询所有成绩小于60的学生
select * from student where id in(select student_id from studentcourse where score<60);
exists实现上面in语句效果
select * fron student where exists(select student_id from studentcourse where score<60 and student_id=studentcourse.student_id);
在实际开发中exists效率要比in高,因为内部使用了关联查询,而in是先将一张表中的查询结果做为另一次查询的条件

any,some,all的用法
some和any的作用相同,
如>any(1,2,3)大于任意一个即可
all作用是全部
>all(1,2,3)大于全部,即大于max最大值
自我比较
select student_id from studentcourse where score >=all(select score from studentcourse);将一张表中的某列数据进行提取作为房地产vklo比较依据,通过该表中每条记录与该列数据的对应比较的得到查询结果,这样的查询方式称为自我比较。
查询编号2课程比编号1课程成绩高的所有学号
select score from studentcourse where course_id=2 and score>any(select score from studentcourse where course_id=1);

union
并集关键字将查询结果进行合并
合并时列名必须一致
合并会排除重复数据
union all不会排除重复数据

SQL强化

标签:

热心网友 时间:2022-04-30 04:22

去下载一个《结构化查询语言SQL》视频或教材进行学习。追问哪里有好的链接地址么??十分感谢哇!!!

追答你百度一下,有好多的,百度知道里不能带链接的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 粤、闽、赣、鄂、沪这几个简称分别指哪些省? 屠呦呦在哪一集 如何评价郑晓龙执导,的《功勋》之「屠呦呦的礼物」单元? 如何看待屠呦呦与黄晓明的2亿婚礼 如何评价郑晓龙执导,周迅、张颂文主演的《功勋》之屠呦呦的礼物单元? 屠呦呦父亲扮演者 《功勋》热播好评不断,孙俪罕见当配角,这部剧还有哪些演员参演? 求电影网盘或者网站 《功勋》讲屠呦呦的是第几集? 网店运营之哪些优化工作可以提高访客 电视剧屠呦呦金大夫扮演者 黄晓明演黄旭华,周迅演屠呦呦,你们知道演钟南山的人是谁吗? 国产剧天花板《功勋》,周迅版屠呦呦为何如此成功? 如果把屠呦呦研制青蒿素一生拍成电视剧或电影,你支持吗? 如何评价《功勋》里周迅出演的屠呦呦? 《功勋》中,屠呦呦获诺贝尔奖时,为什么会有众多争议和质疑? 呦呦影画(北京)传媒有限公司怎么样? 我吃必利劲片一次加大量吃了两片怎么做爰还是早泄呢N? 必利劲最好提前多久,为啥提前半小时不行 必利劲服用多久之后才见效 什么样的智能锁比较靠谱,求各大神推荐推荐? 问各种有色宝石所代表的意义 各个省市的简称是什么? 八上物理32条概念 开发软件用什么语言啊???/ 带哪种水晶旺财?? 软件开发应该选哪种语言 求lunasol眼影~巧克力大波斯菊,猫眼石,还是黎明~ 有什么女孩子爱看的动画片啊 如何通过软件查找被盗苹果6手机? 从一个动物身上得到启发,再想发明什么(作文) 现在软件开发主要都用的是什么语言 我把我家的路由器重置了没网怎么弄 中国拂教七大宝石分别是那些 软件开发哪种程序语言应用较广 为什么从网页上下载的文档打开是乱码 windows7下载文件名都是乱码 电信光纤猫怎么恢复出厂 房屋过户法律咨询 朝阳区办理房产证过户地址 、- 问一问