(中职)计算机组装与维护A0505教学课件.pptx
正版可修改PPT 课件(中职)计算机组装与维护A0505 教学课件SQL Server数据库项目教程教学课件项目5:操作数据我们毕业啦其实是答辩的标题地方任务5 简单查询之Where子句1.知识准备2.逻辑运算符和betweenand3.Like模糊查询4.IN集合查询CONTANTS思维导图1.知识准备1.知识准备1.1 and、or和not运算符 AND、OR和NOT 可在 WHERE 子语句中把两个或多个条件结合起来。AND:如果两个布尔表达式都为 TRUE,那么就为 TRUE。如果第一个条件和第二个条件都成立,则用AND 运算符。OR:如果两个布尔表达式中的一个为 TRUE,那么就为 TRUE。如果第一个条件和第二个条件中只要其中有任意一个成立,则用OR运算符。NOT:对任何其他布尔运算符的值取反。如果要对某一个条件进行否定(取反操作),则使用NOT运算符。1.知识准备1.1 比较运算符序号 操作符 含义1=等于2(大于)大于3=(大于或等于)大于或等于5=(小于或等于)小于或等于6(不等于)不等于7!=(不等于)不等于(非 ISO 标准)8!(不大于 不大于(非 ISO 标准)2.逻辑运算符和betweenand1.3 betweenand运算符 BETWEENAND运算符在WHERE子句中使用,作用是选取介于两个值之间的数据范围。运算符BETWEENAND会选取介于两个值之间的数据范围,相当于“大于等于”和“小于等待”之间的数。这些值可以是数值、文本或者日期。2.逻辑运算符和betweenand1.4 LIKE模糊查询和通配符 在SQL语法中,LIKE表示模糊查询,“=”表示精确查询。LIKE也可以NOT一直使用,常用语法如下:在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。SQL通配符须与 LIKE 运算符一起使用。select*from student where sname like 条件select*from student where sname not like 条件2.逻辑运算符和betweenand1.4 LIKE模糊查询和通配符序号 通配符 描述1%替代一个或多个字符2 _ 仅替代一个字符(它是输入法半角状态下的“下划线”)3 charlist方括号字符列中的任何单一字符,如135 表示数字“135”其中的任意一个 男女 表示只能是男或者女 王刘陈张 表示姓“王刘陈张”中的任意一个1-9 表示连续数字1 至9 的简洁写法a-z 表示连续字线母a 至z 的简洁写法a-z1-91-9 表示三个字符,第1 个为字母a 到z 中的任意一个,第2 和第3 个为数字1 至9 中的任意一个。4 charlist不在方括号字符列中。如a、a-z、1-9a-z2.逻辑运算符和betweenand1.5 IN集合查询 IN 操作符确定指定的值是否与子查询或列表中的值相匹配。IN也可以与NOT一起使用,常用语法如下select*from student where sname in(条件1,条件2,条件3)select*from student where sname not in(条件1,条件2,条件3)2.逻辑运算符和betweenand3.Like模糊查询在数据库dbStudentScore中,完成下面的查询操作。(1)在班级表tbClass查询在新校区的班级,并且班级人数超过60人,按人数降序排列,显示班级代码、班级名称、教室名称、班级人数和校区信息。(2)在教师表tbTeacher中查询所有不是“教授”职称,也不是“男”教师的信息,显示教师工号、姓名、性别、电话号码和职称。(3)在成绩表tbScore中查询总评成绩大于或者等于60分,课程代码为“kc90036、kc90041和kc90042”的成绩数据,显示课程代码、学生学号和总评成绩信息。(4)在成绩表tbScore中查询总评成绩大于或者等于70分,并且小于或者等于80分的数据,显示课程代码、学生学号和总评成绩信息。3.1任务描述3.Like模糊查询 综合应用AND运算符、OR运算符、NOT运算符可以完子任务1-3;使用BETWEENAND运算符可完成子任务4;本案例配备微课视频3.2 任务描述 3.Like模糊查询-在班级表tbClass 查询在新校区的班级,并且班级人数超过60 人,按人数降序排列,显示班级代码、班级名称、教室名称、班级人数和校区信息。select ClassID,ClassName,ClassRoomName,StudentTotals from tbClass where Campus=新校区 and StudentTotals60 order by StudentTotals descgo-在教师表tbTeacher 中查询所有不是“教授”职称,也不是“男”教师的信息,显示教师工号、姓名、性别、电话号码和职称。select TeacherID,TeacherName,sex,Telephone,PositionalTitlesfrom tbTeacher where PositionalTitles 教授 and Sex 男goselect TeacherID,TeacherName,sex,Telephone,PositionalTitlesfrom tbTeacher where not(PositionalTitles=教授)and not(Sex=男)goselect TeacherID,TeacherName,sex,Telephone,PositionalTitlesfrom tbTeacher where not(PositionalTitles=教授 or Sex=男)go参考答案3.Like模糊查询-在成绩表tbScore 中查询总评成绩大于或者等于60 分,课程代码为“kc90036、kc90041和kc90042”的成绩数据,显示课程代码、学生学号和总评成绩信息。select CourseID,StudentID,ScoreAll from tbScorewhere ScoreAll=60 and(CourseID=kc90036 or CourseID=kc90041 or CourseID=kc90042)go-在成绩表tbScore 中查询总评成绩大于或者等于70 分,并且小于或者等于80 分的数据,显示课程代码、学生学号和总评成绩信息。select CourseID,StudentID,ScoreAllfrom tbScore where ScoreAll between 70 and 80go-或者select CourseID,StudentID,ScoreAllfrom tbScore where ScoreAll=70 and ScoreAll=80go参考答案3.Like模糊查询3.Like模糊查询在数据库dbStudentScore中,完成下面的查询操作。(5)在教师表tbTeacher中查询姓“王”的老师信息,显示教师工号、姓名、性别、电话号码和职称。(6)在教师表tbTeacher中查询姓“王”,并且姓名只有2个汉字的老师信息,显示教师工号、姓名、性别、电话号码和职称。(7)在教师表tbTeacher中查询姓名只有3个汉字,并第2个字为“朝”的老师信息,显示教师工号、姓名、性别、电话号码和职称。(8)在教师表tbTeacher中查询姓名以“文”字结尾的老师信息,显示教师工号、姓名、性别、电话号码和职称。3.1任务描述3.Like模糊查询在数据库dbStudentScore中,完成下面的查询操作。(9)在学生表tbStudent中查询籍贯包含“南阳”的学生信息,显示所有字段。(10)在学生表tbStudent中查询身份证号码最后一位是“1、3、5、7、9”的学生信息,显示所有字段。(11)在学生表tbStudent中查询身份证号码第一位是“1、2、3、4”,第二位是“5、6、7、8”的学生信息,显示所有字段。(12)在学生表tbStudent中查询籍贯不包含“广东”的学生信息,显示所有字段。3.1任务描述本案例配备微课视频3.Like模糊查询 使用LIKE模糊查询可完成子任务5-12。在SQL语法中,LIKE表示模糊查询,“=”表示精确查询。LIKE也可以NOT一直使用。select*from student where sname like select*from student where sname like 条件 条件 select*from student where sname not like select*from student where sname not like 条件 条件 3.2任务分析3.Like模糊查询-3.1 在教师表tbTeacher 中查询姓“王”的老师信息,显示教师工号、姓名、性别、电话号码和职称。select TeacherID,TeacherName,sex,Telephone,PositionalTitlesfrom tbTeacher where TeacherName like 王%-3.2 在教师表tbTeacher 中查询姓“王”,并且姓名只有2 个汉字的老师信息,显示教师工号、姓名、性别、电话号码和职称。select TeacherID,TeacherName,sex,Telephone,PositionalTitlesfrom tbTeacher where TeacherName like 王_-3.3 在教师表tbTeacher 中查询姓名只有3 个汉字,并第2 个字为“朝”的老师信息,显示教师工号、姓名、性别、电话号码和职称。select TeacherID,TeacherName,sex,Telephone,PositionalTitlesfrom tbTeacher where TeacherName like _ 朝_-3.4 在教师表tbTeacher 中查询姓名以“文”字结尾的老师信息,显示教师工号、姓名、性别、电话号码和职称。select TeacherID,TeacherName,sex,Telephone,PositionalTitlesfrom tbTeacher where TeacherName like%文参考答案3.Like模糊查询-3.5 在学生表tbStudent 中查询籍贯包含“南阳”的学生信息,显示所有字段。select*from tbStudent where NativePlace like%南阳%go-3.6 在学生表tbStudent 中查询身份证号码最后一位是“1、3、5、7、9”的学生信息,显示所有字段。select*from tbStudent where IDNumber like%13579go-3.7 在学生表tbStudent 中查询身份证号码第一位是“1、2、3、4”,第二位是“5、6、7、8”的学生信息,显示所有字段。select*from tbStudent where IDNumber like 1-45-8%go-3.8 在学生表tbStudent 中查询籍贯不包含“广东”的学生信息,显示所有字段。select*from tbStudent where NativePlace not like%广东%go参考答案4.IN集合查询4.IN集合查询在数据库dbStudentScore中,完成下面的查询操作。(13)在学生表tbStudent中查询籍贯在“广东、河南、北京”的学生信息,显示所有字段。(14)在班级表tbClass中查询专业代码为“m00002、m00007、m00010、m00013、m00004”的信息,显示所有字段,并按班级人数降序排列。4.1 任务描述本案例配备微课视频4.IN集合查询 使得通配符和IN集合查询可以完成子任务13-14。IN 操作符确定指定的值是否与子查询或列表中的值相匹配。IN也可以与NOT一起使用。select*from student where sname in(select*from student where sname in(条件 条件1,1,条件 条件2,2,条件 条件3)3)select*from student where sname not in(select*from student where sname not in(条件 条件1,1,条件 条件2,2,条件 条件3)3)4.2 任务分析4.IN集合查询-4.1 在学生表tbStudent 中查询籍贯在“广东、河南、北京”的学生信息,显示所有字段。select*from tbStudent where left(NativePlace,2)in(广东,河南,北京)go-或者 in 可以换成多个or 的运算,但写直情迷会显得繁琐select*from tbStudent where left(NativePlace,2)=广东 or left(NativePlace,2)=河南 or left(NativePlace,2)=北京 go-4.2 在班级表tbClass 中查询专业代码为“m00002、m00007、m00010、m00013、m00004”的信息,显示所有字段,并按班级人数降序排列。select*from tbClass where MajorID in(m00002,m00007,m00010,m00013,m00004)order by StudentTotals desc go参考答案THANKS