数据库查询
一.基础查询
1.去重,相同的查询结果只保留一个
SELECT DISTINCT 字段名 FROM 数据库表;
2.拼接,新字段名作为各个需要拼接的字段名的别名,查询到的结果也会按照字段名的拼接而合并
SELECT CONCAT(字段名1,字段名2) AS 新字段名 FROM 数据库表;
3.IFNULL判断字段值是否为null
SELECT CONCAT(name,IFNULL(commission,0)) FROM 数据库表;
若字段名commission的值为null则赋值为0;否则,其值不变。
用途:在拼接时,若与值为null的字段名拼接会使其值为null,使用该方法则可以避免。
二.条件查询
1.按条件运算符 > < = != <> >= <=
SELECT 查询列表 FROM 数据库表 WHERE 条件表达式;
2.按逻辑运算符 && || ! and or not
作用:连接条件表达式
3.模糊查询
3.1.like
一般和通配符搭配使用;
% 任意多个字符(包括0个);
_ 一个字符;
like '%%' 表示查询列有不为null的全部值; //null表示空值,""表示长度为0的字符串
若想要查询包含_的信息,则需要使用转义字符
例:查询姓名中第二个字符为_的学生信息
SELECT * FROM student WHERE name LIKE '_\_%';
其中转义字符也可以通过ESCAPE来自己定义
如上查询语句可以改写为
SELECT * FROM student WHERE name LIKE '_$_%' ESCAPE '$'; //此处定义了$为转义字符
3.2.between and
注意:①两个临界值都被包含在内
②两个临界值的顺序不能改变
例:查询学生成绩在80-90之间的学生信息
SELECT * FROM student WHERE grade between 80 and 90; //包含80和90
3.3.in
判断某字段的值是否属于in列表中的一项
SELECT * FROM student WHERE city IN ("河北","北京","天津"); //查询出所有在河北或北京或天津的学生的信息
3.4.is null | is not null
判断某一字段的值是否为null不能用 = NULL 或则 != NULL来判断
而是要用is null 和 is not null 来判断
例:查出某一字段为null 的所有信息
SELECT * FROM 数据库表 WHERE 字段名 IS NULL;
3.5.安全等于 <=>
既可以判断null也可以判断普通数值
例:查找所有工资为null的员工信息
SELECT * FROM emploees WHERE salary <=> NULL; //可以
例:查找所有工资为12000的员工信息
SELECT * FROM emploees WHERE salary <=> 12000; //也可以
created by Caizhi