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 条件];
相关推荐
随风飘的云26 分钟前
mysql的innodb引擎对可重复读做了那些优化,可以避免幻读
mysql
NineData11 小时前
NineData 迁移评估功能正式上线
数据库·dba
NineData17 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师19 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石1 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_2 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou643 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北3 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤4 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12025 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql