数据库查询

一.基础查询

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; //也可以
posted @ 2021-03-31 20:37  你是久别重逢  阅读(326)  评论(0编辑  收藏  举报