sql 中between是否能用来做连接?

表1中字段为:姓名,成绩 表2中字段为 等级,上限,下限...表2中内容大致就是第一等级100-90分,第二等级90-80分,第三等级 80-0分....大致这个意思,请问是否能将这连个表格用jion连接起来成为:姓名,成绩,等级?sql的语句应该怎么写?

小唯快跑啊
浏览 591回答 3
3回答

眼眸繁星

这个不能用between and,因为between and 是个闭区间,比如between 100 and 200,这个包含100和200,而between 200 and 300,包含200和300,这样的话,200就同时属于两个分段区域了&nbsp;如果是这样的话能稍微好点等级&nbsp; 开始分数&nbsp; 结束分数一等&nbsp;&nbsp;&nbsp;&nbsp; 90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 100二等&nbsp;&nbsp;&nbsp;&nbsp; 80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 90三等&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80&nbsp;如果是我上边这样可以写做12select&nbsp;表1.姓名,表2.等级from&nbsp;表1,表2&nbsp;where&nbsp;表1.成绩>=表2.开始分数&nbsp;and&nbsp;表1.成绩<表2.结束分数&nbsp;如果你是仅有等级&nbsp;&nbsp;&nbsp; 分数一等&nbsp;&nbsp; 90-100二等&nbsp;&nbsp; 80-90三等&nbsp;&nbsp; 0-80那么这样的话,这个表形同虚设&nbsp;你只能用这样的语句123456select姓名,case&nbsp;when&nbsp;成绩>90&nbsp;and&nbsp;成绩<=100&nbsp;then&nbsp;'一等'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;成绩>80&nbsp;and&nbsp;成绩<=90&nbsp;then&nbsp;'二等'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;'三等'&nbsp;as&nbsp;'等级'from&nbsp;表1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

qq_花开花谢_0

select&nbsp;t1.*,&nbsp;t2.*from 表1&nbsp;t1&nbsp;join 表2&nbsp;t2on&nbsp;t1.成绩>=t2.下限 and t1.成绩<t2.上限

慕沐林林

楼主这样写即可:12345678select&nbsp;&nbsp;姓名,&nbsp;case&nbsp;when&nbsp;成绩>90&nbsp;and&nbsp;成绩<=100&nbsp;then&nbsp;'第一等'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;成绩>80&nbsp;and&nbsp;成绩<=90&nbsp;then&nbsp;&nbsp;'第二等'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;'三等'&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;as&nbsp;'等级'&nbsp;from&nbsp;表1&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server