MySQL中常见的非包含语句

在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;

当前名称:MySQL中常见的非包含语句
文章来源:http://www.shufengxianlan.com/qtweb/news41/366041.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联