LeetCode SQL 基础题
链接: 力扣
个人做法:
# Write your MySQL query statement below
SELECT A.name Employee
FROM Employee A,Employee B
WHERE B.id=A.managerId
AND A.salary>B.salary
实际上是筛出比salary比managerId对应的元组中的salary大的元组
自连接查询,与自身做笛卡尔乘积,B.id=A.managerId进行限制
官方题解:
SELECT
a.Name AS 'Employee'
FROM
Employee AS a,
Employee AS b
WHERE
a.ManagerId = b.Id
AND a.Salary > b.Salary
个人做法:
链接: 力扣
个人做法:
# Write your MySQL query statement below
SELECT Email
FROM Person GROUP BY Email
HAVING COUNT(*) > 1
使用Group By子查询,将表按Email分组,Email相等的放到一组,然后使用HAVING条件判断,COUNT聚集函数计算结果的个数。
官方题解
select Email from
(
select Email, count(Email) as num
from Person
group by Email
) as statistic
where num > 1
链接: 力扣
个人做法:
# Write your MySQL query statement below
SELECT Name Customers
FROM Customers
WHERE Id NOT IN (SELECT CustomerId FROM Orders)
这里使用嵌套查询,用一个子查询筛选出订单中所有的客户ID构成一个集合,IN判断是否在其中。
官方题解,大差不离
select customers.name as 'Customers'
from customers
where customers.id not in
(
select customerid from orders
)
链接: 力扣
个人做法:
# Write your MySQL query statement below
SELECT * FROM cinema
WHERE description != 'boring'
AND MOD(id,2) = 1
ORDER BY rating DESC
这只是普通的单表查询,使用WHERE子句进行条件判断,description不为"boring",使用MOD函数进行取余,使用ODER BY进行排序,指定DESC降序排列。
链接: 力扣
个人做法:
# Write your MySQL query statement below
SELECT player_id,MIN(event_date) first_login
FROM Activity
GROUP BY player_id
将Activity中的记录按player_id进行分组,使用MIN函数选出每组最小
链接: 力扣
个人做法:
# Write your MySQL query statement below
SELECT name FROM SalesPerson
WHERE sales_id NOT IN(
SELECT sales_id FROM Orders
WHERE com_id = (SELECT com_id FROM Company WHERE name = 'RED')
)
先从Orders表中选出和RED相关的订单中销售员ID,再从SalesPerson查询不在这些ID集合中的销售员ID所对应的名字
链接:力扣
个人做法:
# Write your MySQL query statement below
SELECT class FROM Courses
GROUP BY class
HAVING COUNT(student) >= 5
使用group by分组,再统计学生个数即可
链接: 力扣
# Write your MySQL query statement below
SELECT event_day day,emp_id,
SUM(out_time-in_time) total_time
FROM Employees GROUP BY emp_id,event_day
按照ID和日期进行分组,使用SUM函数统计时间
LeetCode SQL 基础题的更多相关文章
- LeetCode 94 | 基础题,如何不用递归中序遍历二叉树?
今天是LeetCode专题第60篇文章,我们一起来看的是LeetCode的94题,二叉树的中序遍历. 这道题的官方难度是Medium,点赞3304,反对只有140,通过率有63.2%,在Medium的 ...
- leetcode动态规划--基础题
跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 思路 根据题目意思,最大跳跃距离,说明可以跳0--n ...
- 【T-SQL基础】01.单表查询-几道sql查询题
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- leetcode第37题--Count and Say
题目:(据说是facebook的面试题哦) The count-and-say sequence is the sequence of integers beginning as follows:1, ...
- LeetCode第[18]题(Java):4Sum 标签:Array
题目难度:Medium 题目: Given an array S of n integers, are there elements a, b, c, and d in S such that a + ...
- Java面试题以及答案精选(架构师面试题)-基础题1
基础题 一.String,StringBuffer, StringBuilder 的区别是什么?String为什么是不可变的?1. String是字符串常量,StringBuffer和StringBu ...
- [LeetCode] 系统刷题5_Dynamic Programming
Dynamic Programming 实际上是[LeetCode] 系统刷题4_Binary Tree & Divide and Conquer的基础上,加上记忆化的过程.就是说,如果这个题 ...
- 珍藏的数据库SQL基础练习题答案
自己珍藏的数据库SQL基础练习题答案 一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1 ...
- 自己珍藏的数据库SQL基础练习题答案
一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1-3所示. 表1-1 Student表 ...
- Java底层基础题
一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是DispatcherServlet , 一个请求经过Dispatche ...
随机推荐
- 接口自动化-requests环境安装(import requests模块引用失败问题)
命名规范,可以避免低级问题 1. 命名最好是英文字符.下划线.数字三个组成. 2.项目(工程)名称.文件包名.模块名称等都应该是用英文开头,不能纯数字,(下划线开头的一般有特殊含义,不懂的话别乱用) ...
- 8.Vuex状态管理
一.Vuex 概述 1.1 组件之间共享数据的方式 父传子: v-bind 属性绑定 子传父: v-on 事件绑定 兄弟组件之间共享数据: EventBus $on 接收数据的那个组件 (数据接收方) ...
- vim用法思维导图
- Java基础学习——循环取最接近某个值的方法
if(diff<mindiff) mindiff=diff;//循环取最小值 float value = (float) fenzi/fenmu;//整数相除结果会自动转换为整数.即使强制转换为 ...
- vue3 vue-i18n 入口文件配置报警
报警: You are running the esm-bundler build of vue-i18n. It is recommended to conf 解决: 在vue.config.js文 ...
- 转载C#文件下载的实现
一.//TransmitFile实现下载 protected void Button1_Click(object sender, EventArgs e) { /* ...
- C#中冒号:使用场景
1. 继承类.实现接口与继承构造函数 ① 继承类 /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public p ...
- windows下使用Wireshark调试chrome浏览器的HTTP/2流量
1.在Wireshark官网(https://www.wireshark.org/#download)下载对应的Wireshark安装包,进行安装 2.增加系统环境变量设置(计算机 -- 右键 -- ...
- Linux的文件权限管理
Linux文件权限管理介绍 一:Ubuntu 简介 1 .什么是Ubuntu Ubuntu是基于Debian开发的一个开源的Linux操作系统,Ubuntu这个名字名称来⾃⾮洲南部某种语言的一个词语, ...
- 使用chatgt(GPT-4)将过程式(的java代码)改成函数式(的elixir代码)
天啦噜太可怕了,之前我还嘲笑chatgpt不会小众语言来着. chatgt(GPT-4)在接收2次prompt后,把过程式(的java代码)改成了函数式(的elixir代码),给出的Elixir代码可 ...