前言
上章学了如何查询,很有意思,这章将学习如何使用通配符及其他关键字更精确的查找数据。
一:带like的字符匹配
语法:
select 字段名 from 表名 where 字段名 like ‘字符’
通配符%可以放在不同的位置以满足我们查询的需要
下划线通配符_与百分号通配符%类似,也用于模糊匹配。但是区别在于下划线通配符_只能模糊匹配1个字符。
编程要求
根据提示,在右侧编辑器Begin-End处补充代码;
我们为你新建了一个数据表tb_emp,结构如下:
请你查询所有Name以字母C为起始的员工的Name和Salary的内容;
USE Company;
######### Begin #########
select Name,Salary from tb_emp where Name like "C%";
######### End #########
二:查询空值与去除重复结果
查询空值:
select 字段名 from 表名 where 字段名 is null;
去除重复结果:
select distinct 字段名 from 表名;
编程要求
根据提示,在右侧编辑器Begin-End处补充代码:
我们为你新建了一个数据表tb_emp,内容如下:
使用关键字IS NULL返回数据表中字段DeptId为NULL的所有字段的内容,注意,返回的是指定行所有字段的内容;
使用关键字DISTINCT返回数据表中字段Name不重复的内容,注意,只需返回字段Name的内容。
USE Company;
######### Begin #########
select * from tb_emp where DeptId IS NULL;
######### End #########
######### Begin #########
select distinct Name from tb_emp;
######### End #########
三:带and与or的多条件查询
带and 关键字多条件查询
select 字段名 from 表名 where 表达式1 and 表达式2;
带or关键字的多条件查询(推荐使用in关键字)
select 字段名 from 表名 where 表达式1 or 表达式2;
小提示: OR 可以和 AND 一起使用。但是 AND 的优先级要高于 OR 的优先级!
编程要求
根据提示,在右侧编辑器Begin-End处补充代码:
我们为你新建了一个数据表tb_emp,内容如下:
结构如下:
使用关键字AND返回数据表中字段DeptId为301并且薪水大于3000的所有字段的内容,其中DeptId的倒数第二个字母为i的大写;
使用关键字IN返回数据表中字段DeptId为301和303的所有字段的内容。
USE Company;
######### Begin #########
select * from tb_emp where DeptId=301 and Salary>3000;
######### End #########
######### Begin #########
select * from tb_emp where DeptId in(301,303);
######### End #########
小结
where+like查字符匹配
where+is null查空值
where+and/or多条件查询
distinct去掉重复值