Leetcode题库(数据库合集)_ 难度:简单

news2024/11/28 11:00:51

目录

  • 难度:简单
    • 1. 组合两个表
    • 2. 第二高的薪水
    • 3. 第N高的薪水
    • 4. 分数排名
    • 5. 连续出现的数字
    • 6. 超过经理收入的员工
    • 7. 重新
    • 8. 寻找用户推荐人
    • 9. 销售员
    • 10. 排名靠前的旅行者
    • 11. 患某种疾病的患者
    • 12. 修复表中的名字
    • 13. 求关注者的数量
    • 14. 可回收且低脂的产品
    • 15. 计算特殊奖金
    • 16. 丢失信息的雇员
    • 17. 每个产品在不同商店的价格
    • 18. 文章浏览
    • 19. 上升的温度
    • 20. 按日期分组销售产品
    • 21. 员工奖金
    • 22. 使用唯一标识码替换员工Id
    • 23. 订单最多的客户
    • 24. 判断三角形
    • 25. 只出现一次的最大数字
    • 26. 平均售价
    • 27. 查找拥有有效邮箱的用户
    • 28. 查询结果的质量和占比
    • 29. 列出指定时间段内所有的下单产品
    • 30. 最高薪水差异
    • 31. 总旅行距离
    • 32. 自行车的最后使用时间
    • 33. 统计 Spotify 排行榜上艺术家出现次数
    • 34. 查询员工当前薪水
    • 35. 把名字和职业联系起来
    • 36. 形成化学键
    • 37. 整理奥运表
    • 38. 每位教师所教授的科目种类的数量
    • 39. 联赛的所有比赛
    • 39. 产品销售分析 ⑤
    • 40. 净现值查询
    • 41. 三人国家代表队
    • 42. 没有卖出的卖家
    • 43. 仓库经理
    • 44. 按月统计订单数与顾客数
    • 45. 产品名称格式修复
    • 46. 消费者下单频率
    • 47. 上月播放的儿童适宜电影

难度:简单

1. 组合两个表

表1:Person
在这里插入图片描述
PersonId 是上表主键
表2: Address
在这里插入图片描述
AddressId 是上表主键
编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
FirstName, LastName, City, State

select a.FirstName, a.LastName, b.City, b.State 
from Person a 
left join Address b 
on a.PersonID = b.PersonID

2. 第二高的薪水

编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。
在这里插入图片描述
例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。
在这里插入图片描述
方法一:
因为排序可能会出现薪资相同的情况,

select max(Salary) as SecondHighestSalary
from (
select Salary, row_number() over (order by Salary desc) as rnk
from employee b
group by Salary
) a
where a.rnk = 2

方法二:
通过取最大值再去排除最大值去找到第二高的薪水。

select max(Salary) as SecondHighestSalary 
from Employee
where Salary < (select max(Salary) from Employee)

3. 第N高的薪水

有如下两张表T
编写一个 SQL 查询,获取 Employee 表中第 n 高的薪水(Salary)。
在这里插入图片描述

例如上述 Employee 表,n = 2 时,应返回第二高的薪水 200。如果不存在第 n 高的薪水,那么查询应返回 null。
在这里插入图片描述
方法一:

CREATE FUNCTION getNthHighestSalary(@N INT) RETURNS INT AS
BEGIN    
RETURN (        
select Salary as getNthHighestSalary        
from (select  Salary ,dense_rank() over(order by Salary desc) as rnk        
from Employee        
group by Salary) a        
where rnk = @N  );
END

方法二:

CREATE FUNCTION getNthHighestSalary(@N INT) RETURNS INT AS
BEGIN
RETURN ( select distinct Salary 
from Employee
order by Salary desc
Offset @N-1 rows
Fetch next 1 rows only);
END

4. 分数排名

编写一个 SQL 查询来实现分数排名。
如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。
在这里插入图片描述
例如,根据上述给定的 Scores 表,你的查询应该返回(按分数从高到低排列):
在这里插入图片描述

select Score,DENSE_RANK() OVER(ORDER BY Score desc) as Rank
from Scores

5. 连续出现的数字

表:Logs
在这里插入图片描述

编写一个 SQL 查询,查找所有至少连续出现三次的数字。
返回的结果表中的数据可以按 任意顺序 排列。
查询结果格式如下面的例子所示:
在这里插入图片描述
方法一:
如果是连续100次,1000次数值相同,那么这种方法就不适用了

select distinct a.Num as  ConsecutiveNums
from Logs a 
inner join Logs b 
on a.ID = B.ID +1 and a.NUm = b.Num
inner join Logs c 
on a.ID = C.ID +2 and b.Num = c.Num 

方法二:

SELECT DISTINCT Num as ConsecutiveNums 
FROM (SELECT Num,COUNT(1) as SerialCount 
FROM (SELECT Id,Num,row_number() over(order by id) -ROW_NUMBER() over(partition by Num order by Id) as SerialNumberSubGroup
FROM Logs) as Sub
GROUP BY Num,SerialNumberSubGroup HAVING COUNT(1) >= 3) as Result

6. 超过经理收入的员工

Employee 表包含所有员工,他们的经理也属于员工。每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。
在这里插入图片描述
给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。
在这里插入图片描述

7. 重新

if object_id('department','u') is not null drop table department
create table department (
    id int
    ,revenue INT
    ,MONTH VARCHAR(10)

)
INSERT INTO DEPARTMENT(id,REVENUE,MONTH)
VALUES
 (1,8000    , 'Jan'  )
,(2,9000    , 'Jan'  )
,(3,10000   , 'Feb'  )
,(1,7000    , 'Feb'  )
,(1,6000    , 'Mar'  )
select id
,sum(case when month = 'Jan' then revenue else null end) as jan_revenue
,sum(case when month = 'Feb' then revenue else null end) as Feb_revenue
,sum(case when month = 'Mar' then revenue else null end) as Mar_revenue
,sum(case when month = 'Apr' then revenue else null end) as Apr_revenue
,sum(case when month = 'May' then revenue else null end) as May_revenue
,sum(case when month = 'Jun' then revenue else null end) as Jun_revenue
,sum(case when month = 'Jul' then revenue else null end) as Jul_revenue
,sum(case when month = 'Aug' then revenue else null end) as Aug_revenue
,sum(case when month = 'Sep' then revenue else null end) as Sep_revenue
,sum(case when month = 'Oct' then revenue else null end) as Oct_revenue
,sum(case when month = 'Nov' then revenue else null end) as Nov_revenue
,sum(case when month = 'Dec' then revenue else null end) as Dec_revenue
from DEPARTMENT
group by id

8. 寻找用户推荐人

给定表 customer ,里面保存了所有客户信息和他们的推荐人。
在这里插入图片描述
写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都 不是 2。

对于上面的示例数据,结果为:

在这里插入图片描述

--方法一:执行耗时852ms
select name 
from customer 
where isnull(referee_id,0) <> 2

--方法二:执行耗时1038ms
select name 
from customer 
where id not in (
    select id from customer where referee_id = 2
)



9. 销售员

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编写一个SQL查询,报告没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。

以 任意顺序 返回结果表。


--方法一:运行耗时903ms

SELECT s.name
FROM salesperson s
WHERE s.sales_id NOT IN (SELECT
            o.sales_id
        FROM orders o
        LEFT JOIN company c 
        ON o.com_id = c.com_id
        WHERE c.name = 'RED')
;

10. 排名靠前的旅行者

表:Users
在这里插入图片描述
表:Rides
在这里插入图片描述
写一段 SQL , 报告每个用户的旅行距离。

返回的结果表单,以 travelled_distance 降序排列 ,如果有两个或者更多的用户旅行了相同的距离, 那么再以 name 升序排列 。

查询结果格式如下例所示。
在这里插入图片描述

select name,travelled_distance from (
select b.id,b.name,isnull(sum(distance),0) as travelled_distance 
from users b
left join rides a 
on a.user_id = b.id 
group by b.id,b.name ) a 
order by travelled_distance desc,name asc

11. 患某种疾病的患者

患者信息表: Patients
在这里插入图片描述
写一条 SQL 语句,查询患有 I 类糖尿病的患者 ID (patient_id)、患者姓名(patient_name)以及其患有的所有疾病代码(conditions)。I 类糖尿病的代码总是包含前缀 DIAB1 。

按 任意顺序 返回结果表。

select * 
from patients 
where conditions like 'DIAB1%'
or conditions like '% DIAB1%'

12. 修复表中的名字

表: Users
在这里插入图片描述
编写一个 SQL 查询来修复名字,使得只有第一个字符是大写的,其余都是小写的。

返回按 user_id 排序的结果表。

select user_id,
concat(upper(left(name, 1)), lower(right(name, len(name) - 1))) name
from Users
order by user_id

13. 求关注者的数量

表: Followers
在这里插入图片描述
写出 SQL 语句,对于每一个用户,返回该用户的关注者数量。

按 user_id 的顺序返回结果表。

select user_id ,isnull(count(*),0) as followers_count
from Followers 
group by user_id

14. 可回收且低脂的产品

表:Products
在这里插入图片描述
写出 SQL 语句,查找既是低脂又是可回收的产品编号。

返回结果 无顺序要求 。

select product_id from Products 
where low_fats ='Y' and recyclable ='Y'

15. 计算特殊奖金

表: Employees
在这里插入图片描述
写出一个SQL 查询语句,计算每个雇员的奖金。如果一个雇员的id是奇数并且他的名字不是以’M’开头,那么他的奖金是他工资的100%,否则奖金为0。

Return the result table ordered by employee_id.

返回的结果集请按照employee_id排序。

select employee_id  
,case when employee_id % 2 = 1 and left(name  ,1) <>'M'
then salary  else 0 end as bonus 
from Employees 
order by employee_id

16. 丢失信息的雇员

表: Employees
在这里插入图片描述
表: Salaries
在这里插入图片描述
写出一个查询语句,找到所有 丢失信息 的雇员id。当满足下面一个条件时,就被认为是雇员的信息丢失:

雇员的 姓名 丢失了,或者
雇员的 薪水信息 丢失了,或者
返回这些雇员的id employee_id , 从小到大排序 。

select employee_id from 
(
    select employee_id from Employees
    union all
    select employee_id from Salaries
)as t
group by employee_id
having count(employee_id) = 1
order by employee_id

17. 每个产品在不同商店的价格

表:Products
在这里插入图片描述
请你重构 Products 表,查询每个产品在不同商店的价格,使得输出的格式变为(product_id, store, price) 。如果这一产品在商店里没有出售,则不输出这一行。

输出结果表中的 顺序不作要求 。

select *from (
select product_id,store,price
from Products 
unpivot(price for store in(store1  ,store2,store3  )) c)a 
where price is not null

18. 文章浏览

请编写一条 SQL 查询以找出所有浏览过自己文章的作者,结果按照 id 升序排列。

查询结果的格式如下所示:
在这里插入图片描述

--distinct 去重
select distinct author_id as id 
from Views 
where author_id = viewer_id
order by author_id 

--group by 去重
select  author_id as id 
from Views 
where author_id = viewer_id
group by author_id
order by author_id 

19. 上升的温度

编写一个 SQL 查询,来查找与之前(昨天的)日期相比温度更高的所有日期的 id 。
返回结果 不要求顺序 。
查询结果格式如下例。
在这里插入图片描述

select a.id from weather a
left join weather b 
on a.recordDate = dateadd(day,1,b.recordDate)
where a.temperature > b.temperature

20. 按日期分组销售产品

编写一个 SQL 查询来查找每个日期、销售的不同产品的数量及其名称。
每个日期的销售产品名称应按词典序排列。
返回按 sell_date 排序的结果表。
查询结果格式如下例所示。
在这里插入图片描述

--MS SQL SERVER
select sell_date ,count(distinct product) as  num_sold 
,STUFF((select distinct ','+product 
from activities B 
where  A.sell_date = B.sell_date 
FOR XML PATH('')),1,1,'') as products                     
from activities a
group by sell_date

--MySQL
select 
    sell_date, 
    count(distinct product) as num_sold, 
    group_concat(distinct product order by product separator ',') as products
from Activities
group by sell_date
order by sell_date;


21. 员工奖金

选出所有 bonus < 1000 的员工的 name 及其 bonus。

--建表
if object_id('Employee','u') is not null drop table Employee
go
create table Employee(
    empId int,  name  varchar(20), supervisor int , salary  int
)
go
insert into Employee
values
 (1  ,'John'   ,3       , 1000 )
,(2  ,'Dan'    ,3       , 2000 )
,(3  ,'Brad'   ,null    , 4000 )
,(4  ,'Thomas' ,3       , 4000 )
go
if object_id('Bonus','u') is not null drop table Bonus
go
create table Bonus (
    empId int , bonus  int
)
go
insert into Bonus
values
 (2    ,500 )
,(4    ,2000)
go
--查询
select a.name,b.bonus
from employee a
left join bonus b
on a.empid = b.empid
where isnull(b.bonus,0) < 1000

22. 使用唯一标识码替换员工Id

写一段SQL查询来展示每位用户的 唯一标识码(unique ID );如果某位员工没有唯一标识码,使用 null 填充即可。
你可以以 任意 顺序返回结果表。

--建表
if object_id('Employees','u') is not null drop table Employees
go
create table Employees  (
 id            int
, name         varchar(20)
)
go
insert into Employees
values
(1  ,'Alice'    )
,(7  ,'Bob'      )
,(11 ,'Meir'     )
,(90 ,'Winston'  )
,(3  ,'Jonathan' )
go
if object_id('EmployeeUNI','u') is not null drop table EmployeeUNI
go
create table EmployeeUNI(
  id           int
, unique_id     int
)
go
insert into EmployeeUNI
values
 (3  , 1   )
,(11 , 2   )
,(90 , 3   )
go
--查询
select b.unique_id,a.name
from Employees a
left join EmployeeUNI b
on a.id = b.id

23. 订单最多的客户

编写一个SQL查询,为下了 最多订单 的客户查找 customer_number 。
测试用例生成后, 恰好有一个客户 比任何其他客户下了更多的订单。

--建表
if object_id('Orders','u') is not null drop table Orders
go
create table Orders(
  order_number    int
, customer_number int
)
go
insert into Orders
values
 (1   ,1   )
,(2   ,2   )
,(3   ,3   )
,(4   ,3   )
go
--查询
--方法一
select customer_number from (
select *,row_number() over(order by cnt desc ) as rnk
from (select customer_number ,count(distinct order_number) as cnt
        from Orders
        group by customer_number ) a ) a
where rnk = 1
--方法二
select top 1 customer_number 
from orders 
group by customer_number 
order by count(order_number) desc

24. 判断三角形

写一个SQL查询,每三个线段报告它们是否可以形成一个三角形。
以 任意顺序 返回结果表。

--建表
if object_id('Triangle','u') is not null drop table Triangle
go
create table Triangle(
 x         int
,y         int
,z         int
)
go
insert into Triangle
values
 ( 13, 15 ,30 )
,( 10, 20 ,15 )
go
--查询
select *,
       case when x+y>z and  x+z>y and  y+z >x then 'Yes' else 'No' END as triangle
FROM Triangle

25. 只出现一次的最大数字

单一数字 是在 MyNumbers 表中只出现一次的数字。
请你编写一个 SQL 查询来报告最大的 单一数字 。如果不存在 单一数字 ,查询需报告 null 。

if object_id('MyNumbers','u') is not null drop table MyNumbers
go
create table MyNumbers  (
     num        int
)
go
insert into MyNumbers
values
 ( 8  )
,( 8  )
,( 3  )
,( 3  )
,( 1  )
,( 4  )
,( 5  )
,( 6  )
go
--查询
select max(num) as num
from (select num
        from MyNumbers
        group by num
        having count(*) = 1 ) a

26. 平均售价

编写SQL查询以查找每种产品的平均售价。
average_price 应该四舍五入到小数点后两位。

--建表
if object_id('Prices','u') is not null drop table Prices
go
create table Prices(
  product_id     int
, start_date     date
, end_date       date
, price          int
)
go
insert into Prices
values
 (1    ,'2019-02-17','2019-02-28', 5      )
,(1    ,'2019-03-01','2019-03-22', 20     )
,(2    ,'2019-02-01','2019-02-20', 15     )
,(2    ,'2019-02-21','2019-03-31', 30     )
go
if object_id('UnitsSold','u') is not null drop table UnitsSold
go
create table UnitsSold (
    product_id     int
,purchase_date  date
, units          int
)
go
insert into UnitsSold
values
 (1 ,'2019-02-25', 100)
,(1 ,'2019-03-01', 15 )
,(2 ,'2019-02-10', 200)
,(2 ,'2019-03-22', 30 )
go
--查询

select product_id ,cast(sum(price * units ) * 1.0 /sum(units) as decimal(19,2)) average_price
from (
select a.*,b.units
from Prices  a
left join UnitsSold b
on a.product_id = b.product_id
and b.purchase_date between a.start_date and a.end_date ) a
group by product_id

27. 查找拥有有效邮箱的用户

写一条 SQL 语句,查询拥有有效邮箱的用户。
有效的邮箱包含符合下列条件的前缀名和域名:
前缀名是包含字母(大写或小写)、数字、下划线 ‘_’、句点 ‘.’ 和/或横杠 ‘-’ 的字符串。前缀名必须以字母开头。
域名是 ‘@leetcode.com’ 。
按任意顺序返回结果表。

--建表
if object_id('Users','u') is not null drop table Users
go
create table Users (
  user_id       int
, name          varchar(100)
, mail          varchar(100)
)
go
insert into Users
values
 ( 1    ,'Winston'   ,'winston@leetcode.com'    )
,( 2    ,'Jonathan'  ,'jonathanisgreat'         )
,( 3    ,'Annabelle' ,'bella-@leetcode.com'     )
,( 4    ,'Sally'     ,'sally.come@leetcode.com' )
,( 5    ,'Marwan'    ,'quarz#2020@leetcode.com' )
,( 6    ,'David'     ,'david69@gmail.com'       )
,( 7    ,'Shapiro'   ,'.shapo@leetcode.com'     )
go
--查询
SELECT *
FROM Users
WHERE mail LIKE '[A-Za-z]%@leetcode.com' AND mail NOT LIKE '%[^A-Za-z0-9._/-]%@%'

28. 查询结果的质量和占比

在这里插入图片描述

将查询结果的质量 quality 定义为:
各查询结果的评分与其位置之间比率的平均值。

将劣质查询百分比 poor_query_percentage 为:
评分小于 3 的查询结果占全部查询结果的百分比。

编写一组 SQL 来查找每次查询的名称(query_name)、质量(quality) 和 劣质查询百分比(poor_query_percentage)。
质量(quality) 和劣质查询百分比(poor_query_percentage) 都应四舍五入到小数点后两位。

--建表
if object_id('Queries','u') is not null drop table Queries
go
create table Queries(
 query_name   varchar(100)
,result       varchar(100)
,position     int
,rating       int
)
go
insert into     Queries
values
 ('Dog',       'Golden Retriever'  ,1    ,5  )
,('Dog',       'German Shepherd'   ,2    ,5  )
,('Dog',       'Mule'              ,200  ,1  )
,('Cat',       'Shirazi'           ,5    ,2  )
,('Cat',       'Siamese'           ,3    ,3  )
,('Cat',       'Sphynx'            ,7    ,4  )
go
--查询
select query_name, cast(avg(rating *1.0 / position )  as decimal(19,2)) as Quality
,cast(sum(case when rating < 3 then 1 else 0 end ) * 100.0 /count(*) as decimal(19,2)) as poor_query_percentage
from Queries
group by query_name

29. 列出指定时间段内所有的下单产品

写一个解决方案,要求获取在 2020 年 2 月份下单的数量不少于 100 的产品的名字和数目。
返回结果表单的 顺序无要求 。

--建表
if object_id('Products','U') is not null drop table Products
go
create table Products(
     product_id       int
 ,product_name     varchar(100)
 ,product_category varchar(100)
)
go
insert into Products
values
 (1      ,'Leetcode Solutions'    ,'Book'       )
,(2      ,'Jewels of Stringology' ,'Book'       )
,(3      ,'HP'                    ,'Laptop'     )
,(4      ,'Lenovo'                ,'Laptop'     )
,(5      ,'Leetcode Kit'          ,'T-shirt'    )
go
if object_id('Orders','u') is not null drop table Orders
go
create table Orders(
  product_id    int
 ,order_date    date
 ,unit          int
)
go
insert into Orders
values
 ( 1   ,'2020-02-05',60 )
,( 1   ,'2020-02-10',70 )
,( 2   ,'2020-01-18',30 )
,( 2   ,'2020-02-11',80 )
,( 3   ,'2020-02-17',2  )
,( 3   ,'2020-02-24',3  )
,( 4   ,'2020-03-01',20 )
,( 4   ,'2020-03-04',30 )
,( 4   ,'2020-03-04',60 )
,( 5   ,'2020-02-25',50 )
,( 5   ,'2020-02-27',50 )
,( 5   ,'2020-03-01',50 )
go
--查询
select a.Product_name,sum(b.Unit) as Unit
from Products  a
left join orders b
on a.product_id = b.product_id
where year(order_date ) = 2020 and month(order_date) = 2
group by a.product_name
having sum(b.Unit) >= 100

30. 最高薪水差异

在这里插入图片描述
编写一个解决方案,计算 市场部门 和 工程部门 中 最高 工资之间的差异。输出工资的绝对差异。
返回结果表。
返回结果格式如下示例所示。
在这里插入图片描述

--建表
if object_id('Salaries','u') is not null drop table Salaries
go
create table Salaries(
 emp_name     varchar(20)
, department   varchar(20)
, salary      int
)
go
insert into Salaries
values
 (  'Kathy'    ,'Engineering' ,50000  )
,(  'Roy'      ,'Marketing'   ,30000  )
,(  'Charles'  ,'Engineering' ,45000  )
,(  'Jack'     ,'Engineering' ,85000  )
,(  'Benjamin' ,'Marketing'   ,34000  )
,(  'Anthony'  ,'Marketing'   ,42000  )
,(  'Edward'   ,'Engineering' ,102000 )
,(  'Terry'    ,'Engineering' ,44000  )
,(  'Evelyn'   ,'Marketing'   ,53000  )
,(  'Arthur'   ,'Engineering' ,32000  )
go
--查询
select ABS(max(a.salary) - max(b.salary)) as salary_difference
from salaries a
full outer join salaries b
on b.department = 'Marketing'
where a.department = 'Engineering'

31. 总旅行距离

在这里插入图片描述
编写一个解决方案,计算每个用户的旅行距离 distance 。如果有用户没有任何旅行记录,那么他们的 distance 应被视为 0 。输出 user_id, name 和总旅行距离 traveled distance 。
按 升序排序 的 user_id 返回结果表。
结果格式如下示例。
在这里插入图片描述

--建表
if object_id('Users','u') is not null drop table Users
go
create table Users(
user_id      int
, name        varchar(20)
)
go
insert into Users
values
 ( 17  ,'Addison' )
,( 14  ,'Ethan'   )
,( 4   ,'Michael' )
,( 2   ,'Avery'   )
,( 10  ,'Eleanor' )
go
if object_id('Rides','u') is not null drop table Rides
go
create table Rides (
ride_id       int
,user_id       int
,distance      int
)
go
insert into Rides
values
 ( 72  ,17   ,160  )
,( 42  ,14   ,161  )
,( 45  ,4    ,59   )
,( 32  ,2    ,197  )
,( 15  ,4    ,357  )
,( 56  ,2    ,196  )
,( 10  ,14   ,25   )
go
--查询
select a.user_id ,a.name
, isnull(sum(b.distance ),0) as [traveled distance]
from Users  a
left join Rides b
on a.user_id = b.user_id
group by a.user_id ,a.name
order by a.user_id

32. 自行车的最后使用时间

在这里插入图片描述
编写一个解决方案,找出每辆自行车 最近一次被使用 的时间。
返回结果表按 最近被使用 的自行车进行排序。
返回结果的格式如下所示:
在这里插入图片描述

--建表
if object_id('Bikes' ,'u') is not null drop table Bikes
go
create table Bikes(
    ride_id     int
, bike_number  varchar(20)
, start_time   datetime
, end_time     datetime
)
go
insert into Bikes
values
 ( 1,'W00576', '2012-03-25 11:30:00',  '2012-03-25 12:40:00')
,( 2,'W00300', '2012-03-25 10:30:00',  '2012-03-25 10:50:00')
,( 3,'W00455', '2012-03-26 14:30:00',  '2012-03-26 17:40:00')
,( 4,'W00455', '2012-03-25 12:30:00',  '2012-03-25 13:40:00')
,( 5,'W00576', '2012-03-25 08:10:00',  '2012-03-25 09:10:00')
,( 6,'W00576', '2012-03-28 02:30:00',  '2012-03-28 02:50:00')
go
--查询
select bike_number
,max(end_time            ) as end_time
from Bikes
group by bike_number
order by end_time desc

33. 统计 Spotify 排行榜上艺术家出现次数

在这里插入图片描述
编写解决方案来查找每个艺术家在Spotify排行榜上出现的次数。
返回结果表,其中包含艺术家的名称以及相应的出现次数,按出现次数 降序 排列。如果出现次数相等,则按艺术家名称 升序 排列。
返回结果格式如下所示:
在这里插入图片描述

--建表
if object_id('Spotify','u') is not null drop table Spotify
go
create table Spotify(
 id         int
, track_name   varchar(20)
, artist      varchar(20)
)
go
insert into  Spotify
values
 ( 303651  ,'Heart Won''t Forget' ,'Sia'       )
,( 1046089 ,'Shape of you'       ,'Ed Sheeran')
,( 33445   ,'I''m the one'        ,'DJ Khalid' )
,( 811266  ,'Young Dumb & Broke' ,'DJ Khalid' )
,( 505727  ,'Happier'            ,'Ed Sheeran')
go
--查询
select artist     ,count(id ) as occurrences
from Spotify
group by artist
order by count(id ) desc,artist

34. 查询员工当前薪水

在这里插入图片描述
找出每个员工的当前薪水,假设薪水每年增加。输出他们的 emp_id 、firstname 、lastname 、salary 和 department_id 。
按 emp_id 升序排序 返回结果表。
返回结果格式如下所示。
在这里插入图片描述

--建表
if object_id('Salary','u') is not null drop table Salary
go
create table Salary(
 emp_id         int
, firstname     varchar(20)
, lastname      varchar(20)
, salary         varchar(20)
, department_id  varchar(20)
)
go
insert into Salary
values
 ( 1, 'Todd'      ,'Wilson'   ,110000 ,'D1006')
,( 1, 'Todd'      ,'Wilson'   ,106119 ,'D1006')
,( 2, 'Justin'    ,'Simon'    ,128922 ,'D1005')
,( 2, 'Justin'    ,'Simon'    ,130000 ,'D1005')
,( 3, 'Kelly'     ,'Rosario'  ,42689  ,'D1002')
,( 4, 'Patricia'  ,'Powell'   ,162825 ,'D1004')
,( 4, 'Patricia'  ,'Powell'   ,170000 ,'D1004')
,( 5, 'Sherry'    ,'Golden'   ,44101  ,'D1002')
,( 6, 'Natasha'   ,'Swanson'  ,79632  ,'D1005')
,( 6, 'Natasha'   ,'Swanson'  ,90000  ,'D1005')
go
--查询

select
emp_id , firstname, lastname , salary ,department_id
from (select
        emp_id , firstname, lastname , salary ,department_id
        ,rank() over(partition by emp_id order by salary desc ) as rnk
        from Salary  ) a
where rnk =1
order by emp_id

35. 把名字和职业联系起来

在这里插入图片描述
编写一个解决方案报告每个人的名字,后面是他们职业的第一个字母,用括号括起来。
返回按 person_id 降序排列 的结果表。
返回结果格式示例如下。
在这里插入图片描述

--建表
if object_id('Person' ,'u') is not null drop table Person
go
create table Person (
 person_id   int
, name         varchar(20)
, profession  varchar(20)
)
go
insert into Person
values
 (  1  ,'Alex'  ,'Singer'    )
,(  3  ,'Alice' ,'Actor'     )
,(  2  ,'Bob'   ,'Player'    )
,(  4  ,'Messi' ,'Doctor'    )
,(  6  ,'Tyson' ,'Engineer'  )
,(  5  ,'Meir'  ,'Lawyer'    )
go
--查询
select person_id
     , name + '(' + left(profession ,1) +')' as name
from Person
order by person_id  desc

36. 形成化学键

在这里插入图片描述
如果一个元素是 ‘Metal’,另外一个元素是 ‘Nonmetal’ ,那么它们可以形成键。
编写一个解决方案找出所有可以形成键的元素对。
以 任意顺序 返回结果表。
查询结果格式如下所示。
在这里插入图片描述

--建表
if object_id('Elements','u') is not null drop table Elements
go
create table Elements(
   symbol     varchar(20)
, type       varchar(20)
, electrons   int
)
go
insert into Elements
values
 ( 'He'  ,'Noble'    ,0   )
,( 'Na'  ,'Metal'    ,1   )
,( 'Ca'  ,'Metal'    ,2   )
,( 'La'  ,'Metal'    ,3   )
,( 'Cl'  ,'Nonmetal' ,1   )
,( 'O'   ,'Nonmetal' ,2   )
,( 'N'   ,'Nonmetal' ,3   )
go
--查询
select  a.symbol as metal,b.symbol as nonmetal
from Elements  a
cross join (select distinct symbol  from Elements
    where type     = 'Nonmetal'
    ) b
where a.type     = 'Metal'

37. 整理奥运表

在这里插入图片描述
奥运名次表的排序规则如下:

  • 金牌越多的国家排名第一。
  • 如果金牌数持平,银牌多的国家排名第一。
  • 如果银牌数量持平,铜牌数量最多的国家排名第一。
  • 如果铜牌中出现并列,那么并列的国家将按照字典的升序进行排序。
    写一个解决方案对奥运表进行排序

返回结果格式示例如下。

--建表
if object_id('Olympic','u') is not null drop table Olympic
go
create table Olympic (
  country      varchar(20)
, gold_medals  int
, silver_medals int
, bronze_medals  int
)
go
insert into Olympic
values
  ( 'China'       , 10   , 10   ,20  )
 ,( 'South Sudan' , 0    , 0    ,1   )
 ,( 'USA'         , 10   , 10   ,20  )
 ,( 'Israel'      , 2    , 2    ,3   )
 ,( 'Egypt'       , 2    , 2    ,2   )
 go
--查询
select country   ,gold_medals   , silver_medals  , bronze_medals
from (
select *
,rank() over(order by gold_medals desc ) as gold_rank
,rank() over(order by silver_medals desc ) as silver_rank
,rank() over(order by bronze_medals desc) as bronze_rank
from Olympic ) a
order by gold_rank ,silver_rank ,bronze_rank ,country

38. 每位教师所教授的科目种类的数量

在这里插入图片描述
查询每位老师在大学里教授的科目种类的数量。
以 任意顺序 返回结果表。
查询结果格式示例如下。
在这里插入图片描述

--建表
if object_id('Teacher','u') is not null drop table Teacher
go
create table Teacher(
 teacher_id   int
, subject_id   int
, dept_id     int
)
go
insert into Teacher
values
 (  1   ,2   ,3   )
,(  1   ,2   ,4   )
,(  1   ,3   ,3   )
,(  2   ,1   ,1   )
,(  2   ,2   ,1   )
,(  2   ,3   ,1   )
,(  2   ,4   ,1   )
go
--查询
select teacher_id ,count(distinct subject_id ) as cnt
from Teacher
group by teacher_id

39. 联赛的所有比赛

在这里插入图片描述
编写解决方案,获取联赛中所有比赛。每两支球队进行两场比赛,其中一支球队是主队 home_team ,另一支是客场队 away_team。
按 任意顺序 返回结果表。
返回结果格式如下例所示。

在这里插入图片描述

--建表
if object_id('Teams','u') is not null drop table Teams
go
create table Teams(
 team_name    varchar(20)
)
go
insert into Teams
values
 ( 'Leetcode FC' )
,( 'Ahly SC'     )
,( 'Real Madrid' )
go
--查询
select a.team_name as home_team      ,b.team_name as away_team
from Teams a
cross join Teams b
where a.team_name   <> b.team_name

39. 产品销售分析 ⑤

在这里插入图片描述
编写解决方案,获取每个用户的消费额。
按用户消费额 spending 递减的顺序返回结果。在消费额相等的情况下,以 user_id 递增的顺序将其排序。
结果的格式如下面例子所示:
在这里插入图片描述

在这里插入代码片

40. 净现值查询

在这里插入图片描述
编写解决方案,找到 Queries 表中每一次查询的净现值。
结果表 没有顺序要求 。
查询结果的格式如下所示:
在这里插入图片描述
在这里插入图片描述

--建表
if object_id('NPV','u') is not null drop table NPV
go
create table NPV(
 id            int
,year           int
,npv            int
)
go
insert into  NPV
values
 ( 1    ,2018  , 100   )
,( 7    ,2020  , 30    )
,( 13   ,2019  , 40    )
,( 1    ,2019  , 113   )
,( 2    ,2008  , 121   )
,( 3    ,2009  , 12    )
,( 11   ,2020  , 99    )
,( 7    ,2019  , 0     )
go
if object_id('Queries','u') is not null drop table Queries
go
create table Queries(
  id           int
, year         int
)
go
insert into Queries
values
 (1    , 2019  )
,(2    , 2008  )
,(3    , 2009  )
,(7    , 2018  )
,(7    , 2019  )
,(7    , 2020  )
,(13   , 2019  )
go
--查询
select a.*,isnull(b.npv,0) npv
from Queries a
left join NPV b
on a.id = b.id and a.year = b.year

41. 三人国家代表队

在这里插入图片描述
在这里插入图片描述
有一个国家只有三所学校,这个国家的每一个学生只会注册 一所学校。
这个国家正在参加一个竞赛,他们希望从这三所学校中各选出一个学生来组建一支三人的代表队。例如:

  • member_A 是从 SchoolA 中选出的
  • member_B 是从 SchoolB 中选出的
  • member_C 是从 SchoolC 中选出的
  • 被选中的学生具有不同的名字和 ID(没有任何两个学生拥有相同的名字、没有任何两个学生拥有相同的 ID)
    使用上述条件,编写一个解决方案来找到所有可能的三人国家代表队组合。
    返回结果 无顺序要求。
    结果格式如下示例所示。
    在这里插入图片描述
--建表
if object_id('SchoolA','u') is not null drop table SchoolA
go
create table SchoolA(
 student_id     int
,student_name   varchar(20)
)
go
insert into SchoolA
values
 ( 1   ,'Alice'    )
,( 2   ,'Bob'      )
go
if object_id('SchoolB','u') is not null drop table SchoolB
go
create table SchoolB(
 student_id     int
, student_name   varchar(20)
)
go
insert into SchoolB
values
(3     , 'Tom'      )
go
if object_id('SchoolC','u') is not null drop table SchoolC
go
create table SchoolC(
 student_id     int
, student_name   varchar(20)
)
go
insert into SchoolC
values
 ( 3    ,'Tom'       )
,( 2    ,'Jerry'     )
,( 10   ,'Alice'     )
go
--查询
select a.student_name as member_A
     ,b.student_name as member_B
     , c.student_name as member_C
from SchoolA a
cross join SchoolB b
cross join SchoolC c
where a.student_id <> b.student_id
and b.student_id <> c.student_id
and a.student_id <> c.student_id
and a.student_name <> b.student_name
and b.student_name <> c.student_name
and a.student_name <> c.student_name

42. 没有卖出的卖家

在这里插入图片描述
在这里插入图片描述
写一个解决方案, 报告所有在 2020 年度没有任何卖出的卖家的名字。
返回结果按照 seller_name 升序排列。
查询结果格式如下例所示。
在这里插入图片描述
在这里插入图片描述

--建表
if object_id('Customer','u') is not null drop table Customer
go
create table Customer(
 customer_id    int
,customer_name  varchar(20)
)
go
insert into Customer
values
 ( 101    ,'Alice'     )
,( 102    ,'Bob'       )
,( 103    ,'Charlie'   )
go
if object_id('Orders','u') is not null drop table Orders
go
create table Orders(
      order_id       int
, sale_date      date
, order_cost     int
, customer_id    int
, seller_id      int
)
go
insert into Orders
values
 ( 1   ,'2020-03-01', 1500  ,101    , 1  )
,( 2   ,'2020-05-25', 2400  ,102    , 2  )
,( 3   ,'2019-05-25', 800   ,101    , 3  )
,( 4   ,'2020-09-13', 1000  ,103    , 2  )
,( 5   ,'2019-02-11', 700   ,101    , 2  )
go
if object_id('Seller','u') is not null drop table Seller
go
create table Seller(
seller_id     int
, seller_name   varchar(20)
)
go
insert into Seller
values
 ( 1   ,'Daniel'      )
,( 2   ,'Elizabeth'   )
,( 3   ,'Frank'       )
go
--查询
select a.seller_name
from Seller  a
left join Orders b
on a.seller_id = b.seller_id and  datepart(year,sale_date ) = 2020
group by a.seller_name
having isnull(sum(order_cost),0) = 0
order by a.seller_name


43. 仓库经理

在这里插入图片描述
编写解决方案报告每个仓库的存货量是多少立方英尺。
返回结果没有顺序要求。
返回结果格式如下例所示。
在这里插入图片描述

--建表
if object_id('Warehouse','u') is not null drop table Warehouse
go
create table Warehouse(
  name          varchar(20)
, product_id    int
, units         int
)
go
insert into Warehouse
values
 ( 'LCHouse1', 1    ,1     )
,( 'LCHouse1', 2    ,10    )
,( 'LCHouse1', 3    ,5     )
,( 'LCHouse2', 1    ,2     )
,( 'LCHouse2', 2    ,2     )
,( 'LCHouse3', 4    ,1     )
go
if object_id('Products','u') is not null drop table Products
go
create table Products(
      product_id      int
, product_name    varchar(20)
, Width           int
, Length          int
, Height          int
)
go
insert into Products
values
 ( 1  ,'LC-TV'        ,5    ,50   ,40   )
,( 2  ,'LC-KeyChain'  ,5    ,5    ,5    )
,( 3  ,'LC-Phone'     ,2    ,10   ,10   )
,( 4  ,'LC-T-Shirt'   ,4    ,10   ,20   )
go
--查询
select a.name as warehouse_name ,sum(a.units * (b.Width * b.Length * b.Height) ) as volume
from Warehouse a
left join Products b
on a.product_id = b.product_id
group by a.name

44. 按月统计订单数与顾客数

在这里插入图片描述
写一个查询语句来 按月 统计金额(invoice)大于 $20 的唯一 订单数 和唯一 顾客数 。
查询结果无排序要求。
查询结果格式如下所示。
在这里插入图片描述

--建表
if object_id('Orders','u') is not null drop table Orders
go
create table Orders(

 order_id       int
, order_date     date
, customer_id    int
, invoice        int
)
go
insert into Orders
values
 ( 1    ,'2020-09-15', 1   , 30 )
,( 2    ,'2020-09-17', 2   , 90 )
,( 3    ,'2020-10-06', 3   , 20 )
,( 4    ,'2020-10-20', 3   , 21 )
,( 5    ,'2020-11-10', 1   , 10 )
,( 6    ,'2020-11-21', 2   , 15 )
,( 7    ,'2020-12-01', 4   , 55 )
,( 8    ,'2020-12-03', 4   , 77 )
,( 9    ,'2021-01-07', 3   , 31 )
,( 10   ,'2021-01-15', 2   , 20 )
go
--查询
select left(order_date,7) as month
,count(distinct order_id ) as order_count
,count(distinct customer_id) as customer_count
from Orders
where invoice> 20
group by left(order_date,7)

45. 产品名称格式修复

在这里插入图片描述
因为在 2000 年该表是手工填写的,product_name 可能包含前后空格,而且包含大小写。

编写一个解决方案报告每个月的销售情况:

  • product_name 是小写字母且不包含前后空格
  • sale_date 格式为 (‘YYYY-MM’)
  • total 是产品在本月销售的次数
    返回结果以 product_name 升序 排列,如果有排名相同,再以 sale_date 升序 排列。

查询结果格式如下所示。
在这里插入图片描述

--建表
if object_id('Sales','u') is not null drop table Sales
go
create table Sales(
  sale_id       int
, product_name  varchar(20)
, sale_date     date
)
go
insert into Sales
values
 ( 1   ,'LCPHONE'      ,'2000-01-16')
,( 2   ,'LCPhone'      ,'2000-01-17')
,( 3   ,'LcPhOnE'      ,'2000-02-18')
,( 4   ,'LCKeyCHAiN'   ,'2000-02-19')
,( 5   ,'LCKeyChain'   ,'2000-02-28')
,( 6   ,'Matryoshka'   ,'2000-03-31')
go
--查询
select lower(rtrim(ltrim(product_name))) as product_name
,left(sale_date,7) as sale_date
,count(sale_id) as total
from sales
group by lower(rtrim(ltrim(product_name)))
,left(sale_date,7)
order by lower(rtrim(ltrim(product_name))) ,left(sale_date,7)

46. 消费者下单频率

在这里插入图片描述
在这里插入图片描述
写一个解决方案,报告在 2020 年 6 月和 7 月 每个月至少花费 $100 的客户的 customer_id 和 customer_name 。
以 任意顺序 返回结果表.
结果格式如下例所示。

在这里插入图片描述
在这里插入图片描述

--建表
if object_id('Customers','u') is not null drop table Customers
go
create table Customers(
 customer_id    int
, name           varchar(20)
, country       varchar(20)
)
go
insert into Customers
values
 (1    ,'Winston'   ,'USA'    )
,(2    ,'Jonathan'  ,'Peru'   )
,(3    ,'Moustafa'  ,'Egypt'  )
go
if object_id('Product','u') is not null drop table Product
go
create table Product(
 product_id    int
,description    varchar(20)
,price         int
)
go
insert into Product
values
 ( 10   ,'LC Phone'    ,300  )
,( 20   ,'LC T-Shirt'  ,10   )
,( 30   ,'LC Book'     ,45   )
,( 40   ,'LC Keychain' ,2    )
go
if object_id('Orders','u') is not null drop table   Orders
go
create table Orders(
  order_id       int
, customer_id    int
, product_id     int
, order_date     date
, quantity       int
)
go
insert into Orders
values
 ( 1    , 1    ,10  , '2020-06-10' , 1   )
,( 2    , 1    ,20  , '2020-07-01' , 1   )
,( 3    , 1    ,30  , '2020-07-08' , 2   )
,( 4    , 2    ,10  , '2020-06-15' , 2   )
,( 5    , 2    ,40  , '2020-07-01' , 10  )
,( 6    , 3    ,20  , '2020-06-24' , 2   )
,( 7    , 3    ,30  , '2020-06-25' , 2   )
,( 9    , 3    ,30  , '2020-05-08' , 3   )
go
--查询
select a.customer_id ,c.name
from Orders  a
left join Product b
on a.product_id = b.product_id
left join customers c
on a.customer_id = c.customer_id
group by a.customer_id,c.name
having sum(case when left(order_date,7) = '2020-06' then b.price * quantity else 0 end ) >= 100
and sum(case when left(order_date,7) = '2020-07' then b.price * quantity else 0 end ) >= 100

47. 上月播放的儿童适宜电影

在这里插入图片描述
编写解决方案, 报告在 2020 年 6 月份播放的儿童适宜电影的去重电影名.
返回的结果表单 没有顺序要求 .
返回结果的格式如下例所示.
在这里插入图片描述

--建表
if object_id('TVProgram','u') is not null drop table TVProgram
go
create table TVProgram(
  program_date   date
, content_id     int
, channel        varchar(20)
)
go
insert into TVProgram
values
 ('2020-06-10 08:00', 1 ,'LC-Channel' )
,('2020-05-11 12:00', 2 ,'LC-Channel' )
,('2020-05-12 12:00', 3 ,'LC-Channel' )
,('2020-05-13 14:00', 4 ,'Disney Ch'  )
,('2020-06-18 14:00', 4 ,'Disney Ch'  )
,('2020-07-15 16:00', 5 ,'Disney Ch'  )
go
if object_id('Content','u') is not null drop table Content
go
create table Content(
 content_id        varchar(20)
, title            varchar(20)
, Kids_content      varchar(20)
, content_type      varchar(20)
)
go
insert into Content
values
 (1  ,'Leetcode Movie' ,'N','Movies')
,(2  ,'Alg. for Kids'  ,'Y','Series')
,(3  ,'Database Sols'  ,'N','Series')
,(4  ,'Aladdin'        ,'Y','Movies')
,(5  ,'Cinderella'     ,'Y','Movies')
go
--查询
select distinct b.title
from TVProgram  a
inner join Content b
on a.content_id = b.content_id
where b.Kids_content = 'Y'
and left(program_date,7) = '2020-06'
and content_type = 'Movies'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1286585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从Intel Cyclone10GX TransceiverPHY 高速收发器认识ATX PLL、FPLL、CMU PLL等PLL

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 在使用Intel Cyclone10GX TransceiverPHY的过程中发现这个IP还是比较复杂的&#xff0c;特别是时钟系统&#xff0c;提到了多种PLL:ATX PLL、FPLL、CMU PLL&#xff0c;这里进行一下扩展学…

LeetCode 2477. 到达首都的最少油耗:深度优先搜索(DFS)

【LetMeFly】2477.到达首都的最少油耗&#xff1a;深度优先搜索(DFS) 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-fuel-cost-to-report-to-the-capital/ 给你一棵 n 个节点的树&#xff08;一个无向、连通、无环图&#xff09;&#xff0c;每个节点表示一…

C语言学习笔记之数组篇

数组是一组相同类型元素的集合。 目录 一维数组 数组的创建 数组的初始化 数组的使用 数组在内存中的存储 二维数组 数组的创建 数组的初始化 数组的使用 数组在内存中的存储 数组名 数组名作函数参数 一维数组 数组的创建 type_t arr_name [const_n]; //type_…

2023年12月5日作业:多态

题目&#xff1a; 代码&#xff1a; #include <iostream>using namespace std;class Animals { private:string name; public:Animals(){}Animals(string name):name(name){}virtual void perform() 0;void show(){cout << "这个动物是" << name…

周周爱学习之快速排序

快速排序&#xff0c;顾名思义&#xff0c;快速排序是一种速度非常快的一种排序算法 平均时间复杂度为O(),最坏时间复杂度为O()数据量较大时&#xff0c;优势非常明显属于不稳定排序 1.算法描述 每一轮排序选择一个基准点&#xff08;pivot&#xff09;进行分区 让小于基准点…

ROW_NUMBER()函数——(分组后取每组最新的两条数据)

ROW_NUMBER() 功能&#xff1a;简单的说row_number()从1开始&#xff0c;为每一条分组记录返回一个数字。 用法一&#xff1a; ROW_NUMBER() OVER (ORDER BY col DESC) 说明&#xff1a;先把col列降序&#xff0c;再为降序后的每条col记录返回一个序号 用法二&#xf…

MybatisPlus概述

MybatisPlus概述 无侵入&#xff1a;只做增强不做改变&#xff0c;引入它不会对现有工程产生影响&#xff0c;如丝般顺滑损耗小&#xff1a;启动即会自动注入基本 CURD&#xff0c;性能基本无损耗&#xff0c;直接面向对象操作强大的 CRUD 操作&#xff1a;内置通用 Mapper、通…

房产中介管理信息系统的设计与实现

摘 要 随着房地产业的开发&#xff0c;房产中介行业也随之发展起来&#xff0c;由于房改政策的出台&#xff0c;购房、售房、租房的居民越来越多&#xff0c;这对房产中介部门无疑是一个发展的契机。本文结合目前中国城市房产管理的实际情况和现阶段房屋产业的供求关系对房产中…

MYSQL8用户权限配置详解

单位的系统性能问题需要把Mysql5升级到Mysql8&#xff0c;需要用到Mysql8的一些特性来提升系统的性能。 配置用户权限过程中发现一些问题&#xff0c;学习并记录一下。 目录 一、环境 二、MySQL8 用户权限 2.1 账号管理权限 2.1.1 连接数据库 2.1.2 账号权限配置 2.2 密码…

SQL零基础入门教程,贼拉详细!贼拉简单! 速通数据库期末考!(十二)

多表查询 之前学过在需要同时查询多个表时使用 JOIN 进行表关联&#xff0c;但其实还有一种方法&#xff0c;使用 WHERE 关键字进行表的关联。 WHERE 有等值与非等值连接。 语法&#xff1a; SELECT 列名 ... FROM 表名 WHERE [表名.]<列名1><比较运算符>[表名.…

TsuKing: Coordinating DNS Resolvers and Queries into Potent DoS Amplifiers

目录 笔记后续的研究方向摘要引言之前的工作。我们的研究贡献 TsuKing: Coordinating DNS Resolvers and Queries into Potent DoS Amplifiers CCS 2023 笔记 本文介绍了一种名为 TsuKing 的新型 DNS 放大攻击。与以前利用单个DNS解析器的攻击不同&#xff0c;TsuKing协调多个…

接口自动化测试过程中怎么处理接口依赖?

面试的时候经常会被问到在接口自动化测试过程中怎么处理接口依赖&#xff1f; 首先我们要搞清楚什么是接口依赖。 01. 什么是接口依赖 接口依赖指的是&#xff0c;在接口测试的过程中一个接口的测试经常需要依赖另一个或多个接口成功请求后的返回数据。 那怎么处理呢&#x…

【软件测试】技术精选:Jmeter常见的几种报错

1、Java.net.UnknownHostException 这个错的含义是 没有连接到服务器地址&#xff0c;因此很可能是 内部网络中断导致。 2、502 Bad gateway 这个和本地的线程数无关 可能原因是网络抖动不稳定导致 3、java.net.SocketException: Socket closed 强制停止线程&#xff0c;连接…

旋转设备状态监测与预测性维护:提高设备可靠性的关键

在工业领域的各个行业中&#xff0c;旋转设备都扮演着重要的角色。为了确保设备的可靠运行和预防潜在的故障&#xff0c;旋转设备状态监测及预测性维护变得至关重要。本文将介绍一些常见的旋转设备状态监测方法&#xff0c;并探讨如何利用这些方法来实施预测性维护&#xff0c;…

Android基础: 使用Java代码控制 Activity类页面相互之间进行跳转 Activity页面的的启动和结束

Android基础&#xff08;Activity&#xff09; Activity的启动和结束 我们主要看Java代码逻辑&#xff1a; 第一个页面的逻辑代码 public class StartActivity01 extends AppCompatActivity implements View.OnClickListener {Overrideprotected void onCreate(Bundle saved…

temu最近数据:拼多多旗下跨境电商平台的业绩持续增长

据最近的报道和数据显示&#xff0c;拼多多旗下的跨境电商平台Temu在2023年第三季度取得了显著的业绩增长。销售额突破50亿美元&#xff0c;市场份额不断扩大&#xff0c;用户数量迅速增长。本文将深入探讨Temu的业绩增长、市场份额、用户增长以及其营销策略。 先给大家推荐一款…

C语言给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)

这个题目要求的输出是一串数字&#xff01;&#xff01;&#xff01; 不是下面&#xff1a;输入在一行中给出 10 个非负整数&#xff0c;顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50&#xff0c;且至少拥有 1 个非…

伯俊软件CTO陈雨陆:R3全渠道业务中台的OceanBase落地实践

11 月 16 日&#xff0c;OceanBase 在京顺利举办 2023 年度发布会&#xff0c;正式宣布&#xff1a;将持续践行“一体化”产品战略&#xff0c;为关键业务负载打造一体化数据库。其中&#xff0c;“数字化转型升级实践专场”我们有幸邀请到伯俊软件 CTO 陈雨陆进行《OceanBase …

洗地机哪个牌子好用?洗地机希亦、石头、添可、西屋谁的清洁力更强?

洗地机的出现极大地改善了清洁过程&#xff0c;提高了效率&#xff0c;减少了人力投入。但随着市场上洗地机的种类和功能不断增加&#xff0c;人们可能会感到困惑&#xff0c;不知道如何选择适合自己需求的机器。为了帮助消费者更好地了解洗地机的选择&#xff0c;今天我将带大…

Redlock算法实现Redis分布式锁

Redlock算法实现Redis分布式锁 为什么基于故障转移的实现还不够 使用 Redis 锁定资源的最简单方法是在实例中创建密钥。密钥通常是在有限的生存时间内创建的&#xff0c;使用 Redis 过期功能&#xff0c;以便最终它被释放&#xff08;我们列表中的属性 2&#xff09;。当客户…