第4.2.2章 数据查询- 条件查询

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

新课讲授
二、模式匹配
3、范围比较
SELECT * FROM student WHERE name BETWEEN 'John' AND 'Nancy';
新课讲授
二、模式匹配
4、空置比较
Null意味着没有值或者未知值,为了测试null, 不能使用算数比较运算符,例如=、>
Select 1=null,1<null,1>null,1!=NULL
新课讲授
例题: 1、查找最高成绩的学生学号和课程名
select sno,course,max(grade) from sc
2、查找语文成绩最高的学生学号和课程名 select sno,course,max(grade) from sc where course='语文';
新课讲授
5、first( ) 函数,last( ) 函数 FIRST( ) 函数返回指定的字段中第一个记录的值。
新课讲授
例题: 1、计算001学生的成绩总分
select sum(grade) as '总成绩‘ from sc where sno='001';
新课讲授
4、MAX( ) 函数,MIN( ) 函数
MAX 函数返回一列中的最大值。NULL 值不包括在计 算中。
语法: SELECT MAX(column_name) FROM table_name
FIRST(column)
LAST(column)
MAX(column) MIN(column) SUM(column)
返回某列的平均值 返回某列的行数(不包括NULL值)返Biblioteka 被选行数返回相异结果的数目
返回在指定的域中第一个记录的值 (SQLServer2000 不支持)
返回在指定的域中最后一个记录的值 (SQLServer2000 不支持)
新课讲授
一、比较逻辑运算
在where子句中可以用以下的运算符进行运算
算数运算符
运算符 + -
说明 加 减
运算符 * /
说明 乘 除
新课讲授
比较运算符
运算符 < <= =
说明 小于 小于等于 等于
运算符 > >= !=或<>
逻辑运算符
运算符 not 或! or 或|| and 或&&
说明 逻辑非 逻辑或 逻辑与
说明 大于 大于等于 不等于
新课讲授
补充:IN 操作符 IN 操作符允许我们在 WHERE 子句中规定多个值。
SELECT column_name(s) FROM table_name WHERE column_name IN (value1,value2,...)
新课讲授
例如: 1、查询成绩在75到80之间的学生的学号和课程名
返回某列的最高值
返回某列的最低值
新课讲授
1、AVG 函数——平均值
AVG 函数返回数值列的平均值。NULL 值不包 括在计算中。
语法: SELECT AVG(column_name) FROM table_name
新课讲授
例题:
查询学生的平均成绩 select avg(grade) from sc;
新课讲授
二、模式匹配
3、范围比较
select * from sc where grade between 75 and 95;
select * from sc where grade not between 75 and 95;
select * from sc where grade >75 and grade<95;
Mysql中,1意味着真,0意味着假
新课讲授
二、模式匹配
4、空置比较
Select 1 is null,1 is not null;
新课讲授
四、SQL函数 SQL 拥有很多可用于计数和计算的内建函数。
AVG(column) COUNT(column) COUNT(*) COUNT(DISTINCT column)
2、查询哪些学生已经选课了
3、查询sc表中成绩是90或者80或者75的学生学号
4、查询Student表中“001”班性别为“女”的同学记 录。
新课讲授
例如: 5、查询选择了语文,且成绩高于75分的学生
6、查询001的语文成绩或者002的英语成绩
新课讲授
二、模式匹配
1、标准模式匹配 在搜索数据库中的数据时,SQL 通配符可以替代一个 或多个字符。 SQL 通配符必须与 LIKE ,not like运算符一起使用
符号 % _
含义 替代一个或多个字符
任意单个字符
新课讲授
例: 1、查找姓胡的学生
2、查找名字中含有an的学生 3、查找名字是4个字符的学生 4、student表中选取第二个字符是a的学生信 息:
新课讲授
二、模式匹配
3、范围比较
[not] between 取值1 and 取值2
取值1 :起始值 取值2:终止值 这些值可以是数值、文本或者日期。
新课讲授
例题:
1、查询有多少人选课 SELECT COUNT(DISTINCT sno) FROM sc;
2、查询003学生选了多少门课程 SELECT COUNT(sno) FROM sc where sno='003';
新课讲授
3、SUM( ) 函数 SUM 函数返回数值列的总数(总额)。
语法: SELECT SUM(column_name) FROM table_name
语法: SELECT FIRST(column_name) FROM table_name
新课讲授
order by 语句 order by语句用于根据指定的列对结果集进行排序。 order by语句默认按照升序对记录进行排序。 如果按照降序对记录进行排序,可以使用desc 关键字。
语法: SELECT FIRST(column_name) FROM table_name
查询成绩大于平均成绩的学生学号 SELECT * FROM sc WHERE grade>(SELECT AVG(grade) FROM sc);
新课讲授
2、COUNT() 函数——总数
COUNT(column_name) 函数返回指定列的值 的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name
相关文档
最新文档