广州电脑培训_电脑培训班_电脑培训课程-北大青鸟电脑学校
当前位置:网站首页 > 软件开发培训 > 正文

测试人员万能技巧一招破题:多表连接时,找不到连接条件怎么办?

作者:广州电脑培训甘发布时间:2020-10-16分类:软件开发培训浏览:942


导读:Mysql查询题,不仅在面试笔试中的出境评率高,而且非常影响薪资谈判,因为以后的测试工作中也要常常使用,所以地位非常重要。在mysql查询题中,使用频率最高的就是内连接。内连接中,...

Mysql查询题,不仅在面试笔试中的出境评率高,而且非常影响薪资谈判,因为以后的测试工作中也要常常使用,所以地位非常重要。在mysql查询题中,使用频率最高的就是内连接。内连接中,关键点是找多表的连接条件,比如找两个表意义相同的字段。但而很多时候,这个连接条件并不好找。找不到连接条件,内连接无法做。就算侥幸在面试中没有出现多边连接难题,但是在工作中,必定会出现较难的两表连接,找不到连接条件,怎么破?不要急,现在马上教你


一. 准备建表语句

1. 准备sql数据

#建立成绩表

CREATE TABLE score (

sno VARCHAR (20) NOT NULL ,

cno VARCHAR (20) NOT NULL,

degree DECIMAL

);

insert into score values('103','3-245','86');

insert into score values('105','3-245','75');

insert into score values('109','3-245','68');

insert into score values('103','3-105','92');

insert into score values('105','3-105','88');

insert into score values('109','3-105','76');

insert into score values('103','3-105','64');

insert into score values('105','3-105','91');

insert into score values('109','3-105','78');

insert into score values('103','6-166','85');

insert into score values('105','6-166','79');

insert into score values('109','6-166','81');

# 建立grade表:

create table grade(low int(3),upp int(3),rank char(1));

insert into grade values(90,100,'A');

insert into grade values(80,89,'B');

insert into grade values(70,79,'C');

insert into grade values(60,69,'D');

insert into grade values(0,59,'E');

二.将建表语句输入到navicat中建立两个表

1)新建数据库test

2)将sql语句输入到查询编辑器中,运行

3)创建数据表并黏贴到excel中


三、第三步做题,分析题目“查询所有同学的Sno、Cno和rank列”

1. 分析题目

sno代表学号,cno代表课程号,rank代表等级,分别来源于成绩score表和grade登记表。所以两表必须内连接

2. 连接条件

内连接的语法是 select * from 表A inner join 表B on 表A.列=表B.列,on后面就是连接条件,一般都是找两个表意义相同的字段。

3.当前困难

当前问题是,两个表中没有意义相同的字段,怎么办?

四、介绍寻找两表连接条件的万能技巧

1、两表不用条件先连接起来,得到一个笛卡尔积

2、在此基础上,找出一条正确信息,再找出一条错误信息,分析为什么正确,为什么错误,就能找到连接条件

五、第五步 ——做题验证步技巧

1.两表不用条件先连接起来,得到一个笛卡尔积

2.在此基础上,找出一条正确信息,再找出一条错误信息,分析为什么正确,为什么错误,就能找到连接条件

3.写出带有连接条件的内连接

4.完善题目,得到“查询所有同学的Sno、Cno和rank列”这个结果


软件开发培训排行
最近发表
标签列表