📅  最后修改于: 2023-12-03 14:57:54.500000             🧑  作者: Mango
SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言,它可以实现数据的增删改查等各种操作。其中,过滤器就是一种可以筛选出特定数据的查询语句。
使用SELECT语句可以查询出对应表中的数据。在此基础上,可以使用WHERE子句来添加过滤条件。
SELECT * FROM table_name WHERE condition;
其中,*
表示查询所有字段,table_name
表示需要查询的表,condition
表示过滤条件。比如,可以查询出表中所有age值大于18的数据:
SELECT * FROM users WHERE age > 18;
在实际开发中,精确匹配往往不够,我们需要使用模糊查询来获取更准确的数据。SQL提供了三种模糊匹配方式:LIKE、NOT LIKE和IN。
LIKE用于匹配数据库中某个字段包含特定字符串的数据,其中%
表示任意字符,_
表示任意单个字符。比如,查询出所有姓名中包含"三"的用户:
SELECT * FROM users WHERE name LIKE '%三%';
NOT LIKE则表示不包含某个字符串的所有数据。比如,查询出所有姓名不包含"张"的用户:
SELECT * FROM users WHERE name NOT LIKE '%张%';
IN用于匹配多个指定值中的任意一个。比如,查询出所有年龄为18、21、25的用户:
SELECT * FROM users WHERE age IN (18, 21, 25);
除了通过WHERE添加过滤条件外,SQL还提供了多种聚合函数用于对数据进行统计。
COUNT用于计算满足条件的数据行数。比如,统计出年龄大于18的用户数:
SELECT COUNT(*) FROM users WHERE age > 18;
AVG用于计算满足条件的数据平均值。比如,计算所有用户的平均年龄:
SELECT AVG(age) FROM users;
SUM用于计算满足条件的数据总和。比如,计算所有用户的年龄总和:
SELECT SUM(age) FROM users;
MAX和MIN用于计算满足条件的数据最大值和最小值。比如,查询出所有用户的最大、最小年龄:
SELECT MAX(age), MIN(age) FROM users;
过滤器是SQL中非常重要的一个概念,通过它我们可以筛选出符合条件的数据,从而实现数据的精确查询。完整的SQL语句中,除了过滤器外还包括连接、排序等多个部分,但过滤器是其中最核心的部分之一。