[音乐] SELECT
* FROM student可以查询到学生表中的所有 记录的所有信息。
SELECT sclass,snumb,sname
FROM student可以查询到student表中的所有记录的班级、
学号 和姓名信息,我们说这种运算呢,叫投影运算
我们想得到的信息呢,还可能有,比方说
物理班有哪些同学?年龄小于20岁的有哪些同学?
定价在30元以下的计算机的书有哪些等等,这样一些 信息。
这就是我们说的条件 查询,条件查询的一般格式是
SELECT字段的列表,FROM 表名,后面加一个我们叫做WHERE字句
WHERE后面是一个条件,这条件呢是关系运算 符、
逻辑运算符连接起来的表达式,这个表达式的值是一个逻辑值
当这个值是true的时候,那么它所对应的记录就会被显示出来
这是关系运算符
这是逻辑运算符,关系运算符 可以连接像整数、
实数这样一些数值 还可以连接字符串,连接日期类型的数据,也就是说
字符串和日期型的数据都可以直接用来进行比较,字符串
比较的是它的ASCII码值或者是汉字的机内码,相当于是按照字典的顺序进行比较
比如,sname表示姓名 我们可以说比较
sname='张三' 的那些人 sname<>'张三'
的那些人,这个呢表示是 snumb <'2016501001'
的那些人,所以说这里头呢 虽然是个数字,放在单引号里头它是一个字符串,这是一个字符串的比较,这是
sbirthday<'1996-01-01' ,也就是1996年
1月1日之前出生的那些人。
下面我们看几个按条件查询的例子
首先将我们要使用的数据库teaching
设置成当前数据库
我们的第一个查询的题目是查询电气61班的学生信息,学生信息
在student表中
SELECT * FROM student
然后呢, 我们要查询的信息是来自于电气61班,我们要加一个WHERE条件,WHERE
sclass=
'电气61',电气61啊
好,我们来执行这一句,这样我们查到的学生信息就只有
电气61班的学生 我们的第二个题目是查询年龄在18
到20周岁之间的学生的信息 SELECT * FROM
student 啊,那么我们条件是什么东西呢 WHERE
年龄 sage,在18
到20之间,我们可以写 sage
<= 20 AND
sage> =18,好,我们执行这一句
这样,我们看到的这些学生信息他的年龄
都是在18到20岁之间的,包括18、 19和20,反过来
如果我们说,我们要查询的学生信息 他的年龄不在18到20岁之间
也就是说他是大于20,小于18的,我们可以在这个条件前头加一个not,非
后面呢括起来 后面括起来,那就是不在18到20之间
我们再来执行下这个语句,好,我们看到的这些学生的信息他的年龄在17
21,他就没有18、 19、 20岁的同学啦 我们的第三个题目是查询
电气61班年龄在18到20岁的学生信息,那就是不光是年龄
在18到20岁之间,还要是电气61班的 SELECT
* FROM表名 加一个条件,WHERE
sclass = '电气61'
还要并且,AND sage
<=20 AND
sage >=18,我们来执行
这个语句,好,就是电气61班的年龄在18
到20岁之间的学生的信息
我们的第四个题目 是查询2016年出版的图书
图书信息在图书表中
SELECT * FROM book
我们加一个查询条件,WHERE pdate
要>='2016-1-1' AND
pdate要<
'2017-1-1',好,我们来执行这个查询语句
这样查询到的图书信息它的出版日期都是2016年的
注意刚才的
查询语句中它的条件我们写成了pdate>='2016 1-1'
AND pdate<'2017-1-1',而没有写成
pdate<= '2016-12-31',这是因为
如果我们写成pdate<='2016-12-31'
实际上呢,它相当于写成pdate<='2016 12-31
00:00:00' 那么,像这样子的数据,'2016-12-31
10:10:00',那么产生的这样些的记录或者是这样的 日期,就不能够包含在这个查询的范围之内了
这是呢我们要注意的地方
[空白]