1.基础查询

查询函数(调用函数,获得返回值)
SELECT DATABASE(); #当前正在使用的库
SELECT VERSION(); #当前使用的数据库版本
SELECT USER(); #当前用户名
SELECT IFNULL(字段名,表达式); #字段名为null,执行表达式
image.png #连接字符在一起
image.png
image.png
image.png
image.png
SELECT CONCAT(first_name,last_name) ‘姓 名’
FROM employees;
#用 + 号mysql识别非数值型char转化为0;

distinct
image.png
https://www.bilibili.com/video/BV12b411K7Zu?p=257
https://www.bilibili.com/video/BV12b411K7Zu?p=258

image.png
image.png
SELECT CONCAT(employee_id,’,’,first_name,’,’,IFNULL(commission_pct,’’)) AS ‘OUT’
FROM employees;
#首先+拼接碰到非数值型转化为0,所以用concat函数,在拼接中由于某些字段有null值,导致整行为null,解决办法是利用ifnull函数进行判断.
image.png
https://www.bilibili.com/video/BV12b411K7Zu?p=259

2.条件查询

image.png

image.png
image.png

image.png
% : **0**—-多个字符
between and 包含两个左右临界值.
image.png

https://www.bilibili.com/video/BV12b411K7Zu?p=262
https://www.bilibili.com/video/BV12b411K7Zu?p=263
https://www.bilibili.com/video/BV12b411K7Zu?p=264
https://www.bilibili.com/video/BV12b411K7Zu?p=265
https://www.bilibili.com/video/BV12b411K7Zu?p=266

image.png
SELECT *
FROM employees
WHERE department_id <> 100 ;
#不是is not !!!

image.png
SELECT *
FROM employees
WHERE lastname LIKE ‘|%’ ESCAPE ‘|’;
escape设定字符| 为转义字符,让它后面的
回归原意.

image.png
is null 判断null值,is not null判断非空值,空值不能与任何其他值比较

https://www.bilibili.com/video/BV12b411K7Zu?p=267

3.排序查询

image.png
image.png
image.png
image.png
image.png
order by 后面跟纯数字,就是按列数指向的列排序,第二列是first_name,与下面语句等价.
image.png

image.png
image.png

4.分组查询(当提到”每个”的时候就用分组查询)

image.png
的:后面的字段是要查询的,放select后面
的:前面的是条件
分组函数做条件只可能放在having后面!!!
查询列表一定是 分组函数和被分组的字段,select后的字段与group by后的字段有对应关系.
特点:
①查询列表往往是 分组函数和被分组的字段 ★
②分组查询中的筛选分为两类

筛选的基表 使用的关键词 位置
分组前筛选 原始表 where group by 的前面
分组后筛选 分组后的结果集 having group by的后面

where——group by ——having
分组函数做条件只可能放在having后面!!!
image.png

image.png
不确定count里面填什么,填*
image.png
分组函数作条件只能放在having后面,根据这个进行填空.
image.png
SELECT job_id,MAX(salary)
FROM employees
WHERE commission_pct IS NULL
GROUP BY job_id
HAVING MAX(salary)>6000
ORDER BY MAX(salary);
分组函数做条件只可能放在having后面!!!
查询列表一定是 分组函数和被分组的字段,select后的字段与group by后的字段有对应关系.
image.png
多个字段分组,多个字段全部相同才算一组.
SELECT job_id,department_id,MIN(salary)
FROM employees
GROUP BY job_id,department_id
ORDER BY MIN(salary);
https://www.bilibili.com/video/BV12b411K7Zu?p=280