SELECTSQL语句中Where子句功能解析教育论文 [摘要]针对SELECT-SQL语句中Where子句存在多种使用方式的状况,在分析了SELECT-SQL子句特点的基础上,本文提出了根据不同应用要求,合理使用Where子句的观点,结合多年的教学与计算机培训的实际,在关系数据库课程的教学与实验方面取……
SELECTSQL语句中Where子句功能解析教育论文
[摘要]针对SELECT-SQL语句中Where子句存在多种使用方式的状况,在分析了SELECT-SQL子句特点的基础上,本文提出了根据不同应用要求,合理使用Where子句的观点,结合多年的教学与计算机培训的实际,在关系数据库课程的教学与实验方面取得了一定的效果。本文结合实例进行了解析,为读者合理使用SQL语句提供了参考意见。
[关键词]SELECT-SQL Where子句 形式 合理使用
在SQL语句使用中,应用的核心是SELECT-SQL查询。它主要用于从数据表中查询出符合用户指定条件的相关信息,即按用户查询要求可通过SELECT-SQL语句对指定表(单表或多表)进行选定列字段、选择、排序、分组、保存等操作。在选择中用户往往要提出较多的要求,而在SELECT-SQL语句中能够完成选择任务主要由Where子句来承担,由于实际应用时用户面对的要求与数据是多样化的,合理利用它们可对表(单表或多表)中信息进行有效的选择。若使用不当,会造成数据的遗漏或错误。下面就承担选择功能的子句在不同查询方式时的作用作出一定的分析并以实例说明。
一、对单表查询时Where子句主要应用形式
1.Where FieldName Comparison Expression。作用是对表中不符合子句匹配表达式(条件)的那些记录进行筛选。常用匹配符号有=、>、<、<>、>=、==等。
适用情况:已知一个确定值,用它作为选择的单边界值。
2.Where FieldName [NOT] BETWEEN Start_Range AND End_Range。作用是对表中符合子句指定字段的范围值之记录进行选择。
适用情况:已知二个确定值,用它作为选择的上、下边界值。
3.Where FieldName [NOT] Like cExpression。作用是查找每个与字符串表达相匹配的字段值。其中在字符串表达试中可以使用百分号(%)和下划线(_)通配符,百分号表示字符串中任意个字符,而下划线仅表示字符串中任意一个字符。
适用情况:已知一个子字串值,用它作为选择的比较、包含值。
4.Where FieldName [NOT] IN(Subquery)。记录包含在查询结果中的条件是:字段必须包含一个子查询的返回值。
适用情况:边界值未直接给出,需用子查询来确定。
二、对多表查询时Where子句的主要应用形式
在对多表进行查询时,其Where子句的功能主要有两种。
1.连接。对进行连接的两表按连接字段值是否相等作出选择(与连接方式有关)。
2.选择。作用与单表中的应用相同。若既要起连接作用又同时起选择作用,则表达式须用逻辑运算符AND进行连接。
3.基本格式:
Select 字段名1,字段名2,……..;
From Table1,Table2;
Where Table1.字段名1=Table2.字段名1 AND字段名 Comparison Expression即:在两个被连接的表中,按连接条件是否成立(连接字段的值是否符合等值),进行第一次选择;然后进行第二次选择,去掉不符合条件的记录,从而得到最终结果。
三、实例应用
以下查询命令是基于关系:STUDENT(XH,XM,XB,CSRQ); SC(XH,KCH,CJ);KC(KCH,KCMC)。
1.单表查询
(1)查“性别为男的学生全部信息”
Select * FromStudent Where XB=“男”
查“成绩大于等于85分的学生信息”
Select * From Sc Where CJ>=85表示为一个含端点值的开区间。
(2)查 “成绩大于等于85分并且小于等于95分的信息”
Select * From SC Where CJ BETWEEN 85 AND 95
该子句可用下面语句形式替换
Select * From SC Where CJ>=85 AND CJ<=95
也能表示为含端点值的一个闭区间
(3)查“课程名称中含有‘信息’的各门课程名称”
Select Kcmc From Kc Where KcmcLike“%信息%”
%:为全通配符,可代表任意长度、任意内容的字符。
(4)查“参加了考试的学生学号”
Select xh From Student Where xh IN (Select xh From Sc)
本例采用了嵌套查询。
2.多表查询
(1)查“参加了考试的、男生姓名”
Select Student.xm From Student,Sc Where Student.xh=Sc.xh AND xb=“男”
也可用以下形式表达:
Select Student.xm From Student Join Sc On Student.xh=Sc.xh Where xb=“男”
(2)查“参加了C语言考试的、男生姓名”
Select Student.xm From Student,Sc,Kc Where Student.xh=Sc.xh AND ;Kc.kch=Sc.kch AND xb=“男” AND kcmc=“C语言”
也可用以下形式表达:
Select Student.xm From Student Join Sc Join Kc On Kc.kch=Sc.kch;
On Student.xh=Sc.xh Where Student.xb=“男” AND Kc.kcmc=“C语言”
四、结束语
在关系数据库教学中学生们经常感觉到Where短语不好掌握,因为它既有筛选的功能,也含有确定连接条件的功能;在单表查询时还比较容易理解,当使用在二表或三表查询时学生们就不太容易理解了。在实际使用中SELECT语句的作用很重要,尤其是在计算机等级考试中也有较大的分值点,掌握好其中的Where子句用法也是不可忽视的,本文给出的几种常用的形式既是基础,也是应用、考试要点。
参考文献:
[1]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2007.94.
[2]李鑫.ELF格式对共享库支持的分析[J].山西广播电视大学学报,2009,(1):52-54.
[3]王珊,萨师煊.数据库系统概论(第四版)[M].高等教育出版社,2007.103.
[4]耿小芬.VB中的ADO数据库访问技术[J].山西广播电视大学学报,2009,(1):50-51.
[5]吴迪,曲蒙. Visual FoxPro 6.0中文命令手册[M].清华大学出版社,2001.279.