来源:广州达内IT培训学校
时间:2021/1/22 10:43:15
Mysql查询题,不仅在面试笔试中的出境评率高,而且非常影响薪资谈判,因为以后的测试工作中也要常常使用,所以地位非常重要。在mysql查询题中,使用频率的就是内连接。
内连接中,关键点是找多表的连接条件,比如找两个表意义相同的字段。但而很多时候,这个连接条件并不好找。找不到连接条件,内连接无法做。就算侥幸在面试中没有出现多边连接难题,但是在工作中,必定会出现较难的两表连接,找不到连接条件,怎么破?有没有一种技巧,==可以一招破解两表连接条件?有==,特撰写此篇技术文章给大家分享。本文主要分为以下几个步骤:
步,准备建表语句
第二步,将建表语句输入到navicat中建立;两个表
第三步,分析题目“查询所有同学的sno、cno和rank列”
第四步,介绍寻找两表连接条件的技巧
第五步,做题验证技巧
第六步,总结
一.准备建表语句
1.准备sql数据
二.将建表语句输入到navicat中建立两个表
1)新建数据库test
2)将sql语句输入到查询编辑器中,运行
3)创建数据表并黏贴到excel中
三、第三步做题,分析题目“查询所有同学的Sno、Cno和rank列”
1.分析题目
sno代表学号,cno代表课程号,rank代表等级,分别来源于成绩score表和grade登记表。所以两表必须内连接
2.连接条件
内连接的语法是select*from表Ainnerjoin表Bon表A.列=表B.列,on后面就是连接条件,一般都是找两个表意义相同的字段。
3.当前困难
当前问题是,两个表中没有意义相同的字段,怎么办?
四、介绍寻找两表连接条件的技巧
1、两表不用条件先连接起来,得到一个笛卡尔积(笛卡尔积就是表1的行数*表2的行数得到的结果集,该结果肯定有错误)
2、在此基础上,找出一条正确信息,再找出一条错误信息,分析为什么正确,为什么错误,就能找到连接条件
五、第五步——做题验证步技巧
两表不用条件先连接起来,得到一个笛卡尔积
2.在此基础上,找出一条正确信息,再找出一条错误信息,分析为什么正确,为什么错误,就能找到连接条件
3.写出带有连接条件的内连接
4.完善题目,得到“查询所有同学的Sno、Cno和rank列”这个结果
六、总结
1.所求题目“查询所有同学的Sno、Cno和rank列”,其争取的sql语句是:
selectsno,cno,rankfromscoreinnerjoingradeondegreebetweenlowandupp
2.验证的连接条件的方法是:
找出一条正确信息,再找出一条错误信息,分析为什么正确,为什么错误,就能找到连接条件。
以上方法对于容易找到连接条件的题目依然适用,故成为“内连接查找连接条件的方法”
是不是,赶紧找题目来验证下吧。推荐了解。
版权所有:搜学搜课(www.soxsok.com)