7.BETWEEN操作符
操作符 BETWEEN…AND…操作符在WHERE子句中使用,作用是选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
格式:select 字段名1,字段名2 from 表名 where 字段名 between 字段值1 and 字段值2;
例:select id,name from student where id between 904 and 906;
表示的是查询表中id为904 到906中的id,name字段.
8.别名
别名是指定的表或列设定一个方便阅读的名字,通过使用 SQL,可以为列名称和表名称指定别名(Alias)。只能起到显示作用,不修改表中的字段名。
格式:SELECT 表1的别名.列1AS 列1的别名, 表2的别名.列3 AS 列3的别名 FROM 表1 AS 表1的别名,表2 AS 表2的别名 ;
举例:select id asx_id , name as x_name from student;
说明:查询出student表中id,name两个字段并且取了x_id,x_name别名。
9.查询多个表
如果想要查询到一个结果集,可能分别在不同的表中,这时候就要查询多个表。
格式:SELE CT * FROM 表1,表2 WHERE 表1.id = 表2.id;
举例:selectstudent.name ,score.cource from student,score where student.id=score.id;
多个表之间的联系就需要用到JOIN这个关键字。JOIN关键字有如下几种用法:
a.INNERJOIN 关键字
格式:SELECT * FROM 表1 [INNER] JOIN 表2 ON 表1.id = 表2.id ;
举例:selectstudent.name ,score.cource from student inner join score onstudent.id=score.id;
b.Leftjoin 关键字
格式:SELECT* FROM 左表 LEFTJOIN 右表 ON 左表.id = 右表.id ;
举例:selectstudent.id ,score.name from student left join score on student.id=score.id;
说明:1.左表(student)所有数据都要返回到结果集中。
2.如果右表(score)无法匹配的左表的数据,右表用NULL进行填充。
c.rightjoin 关键字
格式:SELECT * FROM 左表 RIGHT JOIN 右表 ON 左表.id = 右表.id ;
举例:selectstudent.id ,score.name from student right join score on student.id=score.id;
说明:1.右表(score)所有行的数据都要返回,不管是否匹配。
2.右表中无法再左表匹配的数据,左表(student)用NULL填充。