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 条件];
相关推荐
TDengine (老段)14 分钟前
开放生态破局工业大数据困局:TDengine 的迭代升级与全链路数据自由流动
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
一位代码15 分钟前
一些常用的通用 mysql 命令详解及注意事项
数据库·mysql
曹牧28 分钟前
Oracle:五笔码
数据库·oracle
苹果醋328 分钟前
JAVA设计模式之观察者模式
java·运维·spring boot·mysql·nginx
今晚务必早点睡29 分钟前
MySQL 新手避坑指南:安装、区分、检查一步到位
数据库·mysql·adb
心本无晴.30 分钟前
拣学--基于vue3和django框架实现的辅助考研系统
vue.js·python·mysql·考研·django·dify
JIngJaneIL31 分钟前
基于java+ vue畅游游戏销售管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·游戏
詹姆斯爱研究Java32 分钟前
基于Django的租房网站的设计与实现
数据库·python·django
deng-c-f33 分钟前
Linux C/C++ 学习日记(50):连接池
数据库·学习·连接池
运维行者_40 分钟前
APM 性能监控是什么?从应用监控与网站监控了解基础概念
网络·数据库·云原生·容器·kubernetes·智能路由器·运维开发