MySql修炼2(力扣):收了6只妖

按照书本上的知识还要介绍好多操作,细节又多,而且我之前上过这个课是有基础的,再重学一遍我坚持不下去。然后我直接在力扣上找了一个高频的,边练边学吧!加油孩子们!!!

第一只妖:(绝对是小妖,我居然会写)

一开始看到这个题型,从来没见过,枚举是啥也不懂,估计就是可选的类型吧,不重要。但是看后面的输出要求。



再加上要求,不就是返回表中是低脂且可回收的产品编号,so easy,备考数据库三级做过哈哈哈哈哈。

select 返回的东西 from 哪个表 where 条件

第二只妖:狡猾还孤立别人

为啥要孤立被id=2用户推荐的人啊


很好出错了,才看见有一个提示:Be careful of the NULL value 好像是!(不等于)是不包含null的。还以为自己很聪明就是返回除了被2推荐的人嘞。所以应该是

select name from Customer where referee_id!=2 or referee_id is null;

要注意是is null不是='null'

还看见了一种方法写,就孤立2推荐的人

select name from customer where id not in (select id from customer where referee_id =2)

第三只妖:平平无奇

也就是:select 国家名称、人口、面积 from World where 两个条件;

select name,population,area from World where area>=3000000 or population>=25000000;

我发现了这些题都是在条件那做文章。还好我比较聪明哈哈哈哈哈哈。

第四只妖:要排序还没主键,难,是个正常的妖

一开始都没看懂题目,在评论区看到一个人说这题是找出最自恋的人哈哈哈哈,我懂了,就是找谁看自己的文章了。

select distinct author_id as id from Views where author_id=viewer_id order by author_id asc;

distinct 去重,as就是取个新名字 order by用来排序的 asc升序desc降序

第五只妖:一只爱length()的妖

select tweet_id from Tweets where length(content)>15;

呦西,python里面的length()居然也适用,没白学啊

第六只妖:要连接表

sql 复制代码
select unique_id,name
from Employees e1 left join EmployeeUNI e2
on e1.id=e2.id;

这里用一个左连接left join ,它以左表为基准,返回左表中所有的行,同时返回右表中与左表匹配的行。如果右表中没有匹配的行,则用NULL填充。


🔍 表连接的类型(4 种核心 JOIN)

MySQL 支持多种 JOIN,最常用的是以下 4 种:

JOIN 类型 关键字 作用 特点
内连接 INNER JOINJOIN 只返回 两表都匹配的数据 最常用
左连接 LEFT JOIN 返回 左表所有数据 + 右表匹配的数据(右表不匹配则 NULL) 保左
右连接 RIGHT JOIN 返回 右表所有数据 + 左表匹配的数据(左表不匹配则 NULL) 保右
全连接 FULL JOIN(MySQL 不直接支持,需用 UNION模拟) 返回 左右表所有数据(不匹配则 NULL) MySQL 一般不用

通用格式:

sql 复制代码
SELECT 列1, 列2, ...
FROM 表1
[JOIN 类型] 表2 ON 表1.字段 = 表2.字段
[WHERE 条件];
相关推荐
我菜就多练8 小时前
SQlite3
数据库·sqlite
程序猿ZhangSir8 小时前
Spring Boot 项目实现邮件推送功能 (以QQ邮箱为例)
java·数据库·spring boot
壹佰大多8 小时前
【Redisson分布式锁源码分析-3】
数据结构·分布式·mysql·spring·spring cloud·wpf·lua
梦里不知身是客119 小时前
kettle的mysql 根据条件,导出到不同的excel中
数据库·mysql·excel
sanggou9 小时前
踩坑记录:PDManer 导出 Oracle DDL 默认值成 ‘NULL‘ 字符串的排查与解决
数据库·oracle
动亦定9 小时前
MySQL 锁等待超时错误。详细解释原因和解决方案
数据库·mysql
脚踏实地的大梦想家9 小时前
【Docker】P5 Docker Compose 实战指南:一键部署 WordPress + MySQL
mysql·docker·容器
数据库学啊9 小时前
分布式数据库架构设计指南:TDengine如何支持10亿级数据点的水平扩展
数据库·分布式·时序数据库·数据库架构·tdengine
郝学胜-神的一滴9 小时前
Qt删除布局与布局切换技术详解
开发语言·数据库·c++·qt·程序人生·系统架构