一、基础查询
语法: SELECT 查询列表 FROM 表名
特点:
- 查询列表可以是字段、常量、表达式、函数
- 查询结果是虚拟表格
案例:
- 查询单个字段
SELECT 字段名
FROM 表名;
- 查询多个字段
SELECT 字段名1,字段名2
FROM 表名;
- 查询所有字段
SELECT *
FROM 表名;
- 查询常量
SELECT 100;
- 查询函数
SELECT VERSION();
- 起别名
SELECT 字段名 (AS) 别名
FROM 表名;
- 去重
SELECT DISTINCT 字段名
FROM 表名;
- +的作用
仅为运算符
当加号两边的数值为数值型为正常加法运算;
当加号两边存在字符型,则试图将字符转换为数值,(转换失败则为0)再进行加法运算;
当加号两边存在NULL, 结果为NULL - 字符串连接用CONCAT
SELECT CONCAT('a', 'b', 'c') 姓名;
二、条件查询
语法:SELECT 查询列表 FROM 表名 WHERE 筛选条件;
分类:
- 按条件表达式筛选
条件运算符< > <= >= = != <>
- 按逻辑表达式筛选
逻辑运算符&& || ! AND OR NOT
案例:
- 筛选出 `字段2 不少于1000的 字段1信息
SELECT 字段名1
FROM 表名
WHERE 字段名2 >= 1000;
三、模糊查询
模糊查询 LIKE \ BETWEEN AND \ IN \ IS NULL
- BETWEEN AND: 包含临界值; 左右不能调换
- IN: ()内类型必须一致
- <=> : 安全等于
通配符: %
任意多字符/数值(包含单个字符)_
任意单个字符/数值
案例:
- 查询第二个字符为_的员工名
SELECT name
FROM employees
WHERE name LIKE ’_$_%‘ ESCAPE $
- 查询员工名在 TOM, JERRY, ANDY中的员工名
SELECT name
FROM employees
WHERE name IN ('TOM', 'JERRY', 'ANDY');
四、排序查询
语法: SELECT 查询列表 FROM 表名 WHERE 筛选条件 ORDER BY 排序列表 【ASC|DESC】
特点:
- ORDER BY 后面支持单字段,多字段,表达式,函数,别名
- ORDER BY一般是放在查询语句的最后面,LIMIT子句前面