在MySQL中,非包含语句是一种用于查询数据的方法,它可以根据给定的条件从一个或多个表中筛选出所需的数据,与包含语句不同,非包含语句不会自动包含其他表中的数据,而是只返回满足条件的记录,本文将详细介绍MySQL中常见的非包含语句及其使用方法。
(图片来源网络,侵删)1、SELECT语句
SELECT语句是最常用的非包含语句,用于从数据库表中检索数据,基本语法如下:
SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;
要从employees表中检索所有年龄大于30的员工的姓名和工资,可以使用以下SQL语句:
SELECT name, salary FROM employees WHERE age > 30;
2、DISTINCT关键字
DISTINCT关键字用于从查询结果中删除重复的记录,基本语法如下:
SELECT DISTINCT 列名1, 列名2, ... FROM 表名 WHERE 条件;
要从employees表中检索所有不同的职位,可以使用以下SQL语句:
SELECT DISTINCT position FROM employees;
3、ORDER BY子句
ORDER BY子句用于对查询结果进行排序,基本语法如下:
SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件 ORDER BY 列名1 [ASC|DESC], 列名2 [ASC|DESC], ...;
ASC表示升序排序,DESC表示降序排序,默认为升序排序。
要按照员工的工资降序排列,可以使用以下SQL语句:
SELECT * FROM employees ORDER BY salary DESC;
4、LIMIT子句
LIMIT子句用于限制查询结果的记录数,基本语法如下:
SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件 LIMIT 数量;
要检索前10条记录,可以使用以下SQL语句:
SELECT * FROM employees LIMIT 10;
5、AND和OR操作符
AND和OR操作符用于组合多个条件,基本语法如下:
SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件1 AND/OR 条件2;
要检索年龄大于30且工资低于5000的员工,可以使用以下SQL语句:
SELECT * FROM employees WHERE age > 30 AND salary < 5000;
6、IN操作符
IN操作符用于检查某个值是否在一组值中,基本语法如下:
SELECT 列名1, 列名2, ... FROM 表名 WHERE 列名 IN (值1, 值2, ...);
要检索职位为’经理’或’主管’的员工,可以使用以下SQL语句:
SELECT * FROM employees WHERE position IN ('经理', '主管');
7、LIKE操作符
LIKE操作符用于使用通配符匹配字符串,基本语法如下:
SELECT 列名1, 列名2, ... FROM 表名 WHERE 列名 LIKE '模式';
模式可以包含以下通配符:%(表示任意字符序列)和_(表示单个字符),要检索所有以’张’开头的员工姓名,可以使用以下SQL语句:
SELECT name FROM employees WHERE name LIKE '张%';
8、IS NULL和IS NOT NULL操作符
IS NULL和IS NOT NULL操作符用于检查某个值是否为NULL,基本语法如下:
SELECT 列名1, 列名2, ... FROM 表名 WHERE 列名 IS [NOT] NULL;
要检索所有没有邮箱的员工,可以使用以下SQL语句:
SELECT * FROM employees WHERE email IS NULL;
9、CASE表达式
CASE表达式用于根据条件返回不同的值,基本语法如下:
CASE 表达式1 THEN 值1 [WHEN 表达式2 THEN 值2 ...] [ELSE 值n] END;
要根据员工的职位计算其级别,可以使用以下SQL语句:
SELECT name, position, CASE position WHEN '经理' THEN '高级' WHEN '主管' THEN '中级' ELSE '初级' END AS level FROM employees;
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。