#一、基础查询
语法:
select 查询列表 from 表;(;是整体的)
特点:
1、查询的结果集 是一个虚拟表
2、select 查询列表 类似于 System.out.println(打印内容);
select 后面跟的查询列表,可以有多个部分组成,中间用逗号隔开,例如: select 字段1,字段2,。。。。 from 表; (;是整体的)
而 System.out.println()的打印内容,只能有一个。
3、执行顺序: ——> from 子句 ——> select 子句
4、查询列表可以是:字段、表达式、常量、函数等; 当查询所有的字段是:select * from ‘字段名’
5、起别名:方式一:select user() as “用户名“; 方式二: select user() <空格> “用户名”;(;是整体的)
6、查询 first_name 和 last_name 拼接成的全名,最终起名为: 姓名
使用 concat 拼接函数: select concat (字段名1,字段名2,....)as “姓 名” from 列表名;(;是整体的)
7、distinct 关键字的使用
应用场景: 查询员工涉及到的部门编号有哪些
select department_id from employees; ——> 这样查询的结果重复的部门编号也会显示 (;是整体的)
select distinct department_id from employees; ——> 这样查询不会重复其部门编号 (;是整体的)
8、查看表的结构: desc 列表名
9、应用场景: 当进行字符串拼接时,两者之间有一个为 null
使用 ifnull 关键字: select ifnull (字段,'空') ——> 判断括号中的字段是否为空,如果是则显示空,如果不是则显示字段
#二、条件查询
语法: select 查询列表 from 表名 where 筛选条件;(;是整体的) ——> 执行顺序: from 字句 → where 子句 → select 子句
1、特点:按条件表达式筛选 (不等于号: != 或 <>, 其他的关系运算符与语言的相同)
2、特点:逻辑运算符: and(与) or(或) not(非)
3、模糊查询: like in between and is null
#三、模糊查询
1、like: 一般和通配符搭配使用,对字符型数据进行部分匹配查询
常见的通配字符:
_ 任意单个字符
% 任意多个字符
#案例:查询姓名中包含第二个字符为_ 的员工信息
SELECT * FROM employees WHERE last_name LIKE '_$_%' ESCAPE '$';
#案例:查询姓名中包含字符 a 的员工信息
SELECT * FROM employees WHERE last_name LIKE '%a%';
2、in:查询某字段的值是否属于指定的列表之内
a in(常量值1,常量值2,常量值3, ....)
a not in (常量值1,常量值2,常量值3, ....)
3、between and 判断某个字段的值是否介于 xx 之间
between and / not between and
4、is null / is not null
→ “ = ” 只能判断普通的内容
→ “ IS ” 只能判断 NULL 值
→ “ <=> ” 安全等于,既能判断普通内容,也能判断 NULL 值