LeetcodeSQL入门——知识点总结(选择/排序/修改/字符串处理/正则)

简介: LeetcodeSQL入门——知识点总结(选择/排序/修改/字符串处理/正则)

选择


①sql语言对于空值的判断是IS NULL或者IS NOT NULL

eg:

某网站包含两个表,Customers 表和 Orders 表。编写一个 SQL 查询,找出所有从不订购任何东西的客户。

Create table If Not Exists Customers (id int, name varchar(255))
Create table If Not Exists Orders (id int, customerId int)
Truncate table Customers
insert into Customers (id, name) values ('1', 'Joe')
insert into Customers (id, name) values ('2', 'Henry')
insert into Customers (id, name) values ('3', 'Sam')
insert into Customers (id, name) values ('4', 'Max')
Truncate table Orders
insert into Orders (id, customerId) values ('1', '3')
insert into Orders (id, customerId) values ('2', '1')
select Name as Customers from Customers
where Id not in 
(select CustomerId from Orders);


排序


②字符串不以某个首字母(以“M”为例)开头,使用通配符:“M%” not like “M%”

eg:

写出一个SQL 查询语句,计算每个雇员的奖金。如果一个雇员的id是奇数并且他的名字不是以’M’开头,那么他的奖金是他工资的100%,否则奖金为0。返回的结果集请按照employee_id排序。

select employee_id,
case when (employee_id % 2) <> 0 and name not like "M%" then salary else 0 end
as bonus
from Employees
order by employee_id;


修改


③update交换某一列的值,例如男女性别互换

eg:一个 SQL 查询来交换所有的 ‘f’ 和 ‘m’ (即,将所有 ‘f’ 变为 ‘m’ ,反之亦然),仅使用 单个 update 语句 ,且不产生中间临时表。

# Write your MySQL query statement below
update Salary set 
sex = case
sex
when "m" 
then "f"
else "m" end;

④删除某一列中的重复数据且保留的是id值小的数据

eg:删除重复的邮箱

DELETE p1
FROM Person p1,
    Person p2
WHERE
    p1.Email = p2.Email AND p1.Id > p2.Id


字符串处理


字符串的转大小写函数UPPER()/LOWER()

字符串的拼接函数/截取函数CONCAT()/SUBSTRING()

eg:修复表名字

select user_id,
CONCAT(UPPER(substring(name,1,1)),LOWER(substring(name,2))) as name
from Users
order by user_id;
相关文章
|
19天前
|
机器学习/深度学习 缓存 JavaScript
简单粗暴的正则表达式笔记
简单粗暴的正则表达式笔记
73 25
|
2月前
|
存储 Python Perl
Python编程--正则基础(一)
Python编程--正则基础(一)
18 1
|
2月前
|
Python
Python编程--正则基础(二)
Python编程--正则基础(二)
16 0
|
7月前
|
数据采集 自然语言处理 监控
正则表达式相关知识点
正则表达式相关知识点
65 0
正则中re高级用法findall中的一个小坑
正则中re高级用法findall中的一个小坑
|
前端开发
前端学习案例8-正则-括号的用法
前端学习案例8-正则-括号的用法
84 0
前端学习案例8-正则-括号的用法
|
前端开发
前端学习案例7-正则-括号的用法
前端学习案例7-正则-括号的用法
87 0
前端学习案例7-正则-括号的用法
|
前端开发
前端学习案例1-正则概述-元字符
前端学习案例1-正则概述-元字符
77 0
前端学习案例1-正则概述-元字符
|
存储 C语言
【C语言程序设计】知识点汇总3——数组、字符串数组、字符串输入输出相关注意事项
【C语言程序设计】知识点汇总3——数组、字符串数组、字符串输入输出相关注意事项
279 0
【C语言程序设计】知识点汇总3——数组、字符串数组、字符串输入输出相关注意事项
|
C语言
C语言学习笔记——排序和查找(二)
C语言学习笔记——排序和查找
81 0
C语言学习笔记——排序和查找(二)
下一篇
DataWorks