表单查询(二)【educoder】+笔记+答案

文章目录 前言一:带like的字符匹配二:查询空值与去除重复结果三:带and与or的多条件查询小结 前言 上章学了如何查询,很有意思,这章将学习如何使用通配

文章目录

  • 前言
  • 一:带like的字符匹配
  • 二:查询空值与去除重复结果
  • 三:带and与or的多条件查询
  • 小结

前言

上章学了如何查询,很有意思,这章将学习如何使用通配符及其他关键字更精确的查找数据。

一:带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去掉重复值