填补数分技能SQL day3

在 SQL 中,HAVING、IN 和 AND 是用于筛选数据的关键字,它们在查询语句中具有不同的作用:
1. HAVING
HAVING 子句通常与 GROUP BY 子句一起使用,用于对分组后的数据进行筛选
SELECT column1, aggregate_function(column2)
FROM table_name
GROUP BY column1
HAVING condition;

在上面的语句中,HAVING 后面的条件用于筛选聚合后的结果集。这意味着 HAVING 子句可以包含聚合函数(如 SUM、AVG、COUNT 等)和分组后的列。
2. IN
IN 关键字用于指定条件范围,通常用于 WHERE 子句中。
SELECT column1, column2
FROM table_name
WHERE column1 IN (value1, value2, ...);

或者与子查询一起使用:
SELECT column1, column2
FROM table_name
WHERE column1 IN (SELECT column1 FROM another_table WHERE condition);

IN 关键字用于检查某个列中的值是否与括号中的任何一个值相匹配


3. AND
AND 关键字用于将多个条件组合在一起,以缩小查询结果
SELECT column1, column2
FROM table_name
WHERE condition1 AND condition2;

AND 关键字要求同时满足所有条件才会返回符合条件的行。
这些关键字在 SQL 查询中都扮演着重要的角色,允许开发人员根据特定的条件对数据库中的数据进行精确筛选和过滤。

在 SQL 中,LIKE、REGEXP、INSTR、HAVING 和 LOCATE 是用于字符串匹配和搜索的关键字。它们在查询语句中具有不同的用法和功能:
1. LIKE
LIKE 运算符用于在 WHERE 子句中进行模式匹配。通常与通配符一起使用。
SELECT column1, column2
FROM table_name
WHERE column1 LIKE pattern;


1.%:表示零个或多个字符的通配符。
2._:表示一个字符的通配符。

例如,WHERE column1 LIKE 'abc%' 将匹配以 'abc' 开头的任何字符串


2. REGEXP
REGEXP 运算符用于在 WHERE 子句中基于正则表达式进行模式匹配。
SELECT column1, column2
FROM table_name
WHERE column1 REGEXP pattern;

可以使用正则表达式语法进行模式匹配。例如,WHERE column1 REGEXP '^[0-9]+$' 将匹配由数字组成的字符串。


3. INSTR
INSTR 函数用于在字符串中查找子串第一次出现的位置
SELECT INSTR(column1, substring)
FROM table_name;


3.column1:要搜索的字符串。
4.substring:要查找的子串。

返回值是子串在字符串中第一次出现的位置,如果未找到则返回 0。


4. HAVING
HAVING 子句通常与 GROUP BY 子句一起使用,用于对分组后的数据进行筛选。
SELECT column1, aggregate_function(column2)
FROM table_name
GROUP BY column1
HAVING condition;

HAVING 子句用于在分组后的结果上进行条件筛选,可以包含聚合函数和分组后的列。


5. LOCATE
LOCATE 函数用于在字符串中查找子串第一次出现的位置。
SELECT LOCATE(substring, column1)
FROM table_name;


5.substring:要查找的子串。
6.column1:要搜索的字符串。

返回值是子串在字符串中第一次出现的位置,如果未找到则返回 0。
以上关键字和函数在 SQL 中用于字符串匹配和搜索,可以根据具体需求选择合适的关键字和函数来实现数据查询和筛选。

这道题有三个关键点:

1.截取函数:substring()

    用法:SUBSTRING(str  ,n ,m):返回字符串str从第n个字符截取到第m个字符;

2.拼接函数:concat()

    用法:select concat(A,B) 或者select A || B

3.大写函数UPPER()

复制代码

1

2

3

4

select cust_id,cust_name,

upper(concat(substring(cust_contact,1,2),substring(cust_city,1,3))) 

as user_login

from Customers

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值