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;
相关文章
|
前端开发 Java 数据库连接
SpringMvc第四战-【SpringMvc文件上传,下载】
SpringMvc第四战-【SpringMvc文件上传,下载】
149 0
|
Java
Java 可变参数(详细使用)
Java 可变参数(详细使用)
177 0
|
JavaScript 前端开发
ES modules: A cartoon deep-dive
ES modules: A cartoon deep-dive
129 1
|
开发框架 .NET
Asp.Net就业课之案例实践第二次课
Asp.Net就业课之案例实践第二次课
72 0
Asp.Net就业课之案例实践第二次课
|
编解码 小程序 前端开发
Day16 - Flutter - 屏幕适配
Day16 - Flutter - 屏幕适配
762 0
Day16 - Flutter - 屏幕适配
|
存储 算法 关系型数据库
Nacos内核设计之一致性协议(上)
Nacos内核设计之一致性协议(上)
893 0
Nacos内核设计之一致性协议(上)
|
存储 算法
大厂面试真题详解:最近公共祖先 II
大厂面试真题详解:最近公共祖先 II
大厂面试真题详解:最近公共祖先 II
|
关系型数据库 MySQL 应用服务中间件
构建微信公众号管理系统
构建微信公众号管理系统
611 0
|
机器学习/深度学习 人工智能 算法
2019年20个最佳Python人工智能和机器学习开源工具(项目)
参考资料 讨论钉钉群 21745728 本文最新版本地址 本文涉及的python测试开发库 谢谢点赞! 本文相关海量书籍下载 2018最佳人工智能机器学习工具书及下载(持续更新) TensorFlow最初是由研究人员和工程师在Google机器智能研究组织的Google Brain团队中开发的。
|
C++ Linux
关于VS2017安装的一点扩充说明(15.5)
其实逆天不推荐自己慢慢离线,找个离线包更新下再打包更快 Key:http://www.cnblogs.com/dunitian/p/4667038.html VS完整卸载工具:https://github.com/Microsoft/VisualStudioUninstaller/releases 网上大多命令一贴,然后就让安装。
1313 0