「SQL面试题库」 No

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1、专栏介绍

「SQL面试题库」是由 不是西红柿 发起全员免费参与的SQL学习活动。我每天发布1道SQL面试真题从简单到困难涵盖所有SQL知识点我敢保证只要做完这100道题不仅能轻松搞定面试代码能力和工作效率也会有明显提升。

1.1 活动流程

  1. 整理题目西红柿每天无论刮风下雨保证在8am 前更新一道新鲜SQL面试真题。
  2. 粉丝打卡粉丝们可在评论区写上解题思路或者直接完成SQL代码有困难的小伙伴不要着急先看别人是怎么解题的边看边学不懂就问我。
  3. 交流讨论为了方便交流讨论可进入 数据仓库
  4. 活动奖励我每天都会看评论区和群里的内容对于积极学习和热心解答问题的小伙伴红包鼓励以营造更好的学习氛围。

1.2 你的收获

  1. 增强自信搞定面试在求职中SQL是经常遇到的技能点而这些题目也多数是真实的面试题刷题可以让我们更好地备战面试增强自信提升自己的核心竞争力。

  2. 巩固SQL语法高效搞定工作通过不断练习能够熟悉SQL的语法和常用函数掌握SQL核心知识点提高SQL编写能力。代码能力提升了工作效率自然高了。

  3. 提高数据处理能力、锻炼思维能力SQL是数据处理的核心工具通过刷题可以让我们更好地理解数据处理的过程提高数据分析的效率。SQL题目的难度不一需要在一定时间内解决问题培养了我们对问题的思考能力、解决问题的能力和对时间的把控能力等。

2、今日真题

题目介绍 连续空余座位 consecutive-available-seats

难度简单

SQL架构

几个朋友来到电影院的售票处准备预约连续空余座位。

你能利用表

cinema
帮他们写一个查询语句获取所有空余座位并将它们按照 seat_id 排序后返回吗

| seat_id | free | |---------|------| | 1 | 1 | | 2 | 0 | | 3 | 1 | | 4 | 1 | | 5 | 1 |

对于如上样例你的查询语句应该返回如下结果。

| seat_id | |---------| | 3 | | 4 | | 5 |

注意

  • seat_id 字段是一个自增的整数free 字段是布尔类型'1' 表示空余 '0' 表示已被占据。
  • 连续空余座位的定义是大于等于 2 个连续空余的座位。

sql
select seat_id
from (
select seat_id,
lag(seat_id,1,-99) over(order by seat_id) ls,
lead(seat_id,1,-99) over(order by seat_id) rs
from cinema
where free=1
)t1
where  seat_id-ls = 1 or rs-seat_id =1

  • 已经有灵感了在评论区写下你的思路吧
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6