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 ...
随机推荐
- C# Http 服务器get pos 请求 获取头信息 iOS 客户端联调
using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text ...
- 关于ADB命令工具
android提供了不少命令行工具,方便我们调试和查看信息.下面是frameworks/base/cmds(android 6.0.1)中的命令. $ tree cmds -L 1 cmds am├─ ...
- little bug
1 python script can be run in shell console while not in calling shell scripts wfile = codecs.open(n ...
- Pytorch 感知机
单层感知机 \[\begin{aligned} & y = XW + b \\ & y = \sum x_i*w_i+b\\ \end{aligned} \] Derivative \ ...
- Cross Site Scripting DOM (XSS) 攻击jQuery append() 的处理方法
做安全红线使用Fortify工具进行扫描时,jquery append会报Cross Site Scripting DOM风险.解决该问题有两种办法. 一.原生dom方式 使用JavaScript原生 ...
- pycharm配置gitlab
一.安装Git 下载地址: https://git-scm.com/downloads 安装说明: https://git-scm.com/downloads 二.pycharm配置gitlab: 1 ...
- MySQLdb安装
yum seach MySQL-Python sudo yum install MySQL-python.x86_64 import MySQLdb
- OVS学习博客推荐
博客学习 大致看一遍 openvswitch处理upcall过程分析 upcall-cost分析 连接跟踪(conntrack):原理.应用及 Linux 内核实现 ovs upcall处理流程 Li ...
- linux环境下部署mysql环境
一.部署步骤 1.将安装包上传到Linux服务器上(目录随意),然后解压缩 2.进入到解压后的目录下,分别执行以下命令安装四个包(严格按照顺序执行) rpm -ivh mysql-community- ...
- etcd详解
etcd原理详解 etcd概述 etcd的特点 etcd是一个Go言编写的分布式.高可用的一致性键值存储系统,用于提供可靠的分布式键值存储.配置共享和服务发现等功能 etcd具有以下特点: 简单: 易 ...