动手写sql 《牛客网80道sql》

news2024/11/29 4:45:48

第1章:SQL编写基础逻辑和常见问题

基础逻辑

  1. SELECT语句: 选择数据表中的列。
  2. FROM语句: 指定查询将要从哪个表中检索数据。
  3. WHERE语句: 过滤条件,用于提取满足特定条件的记录。
  4. GROUP BY语句: 对结果进行分组。
  5. HAVING语句: 对分组后的结果进行条件过滤。
  6. ORDER BY语句: 对结果进行排序。

常见问题

  1. LEFT JOIN与RIGHT JOIN的区别:

    • LEFT JOIN(左连接)返回左表(表A)的所有行,即使右表(表B)中没有匹配。如果右表中没有匹配,则结果集中右表的部分将包含NULL。
    • RIGHT JOIN(右连接)则相反,返回右表的所有行,即使左表中没有匹配。如果左表中没有匹配,则结果集中左表的部分将包含NULL。
      详情见我的另一篇博客 sql join 全讲解
  2. 执行的先后次序:

    • FROM
    • WHERE
    • GROUP BY
    • HAVING
    • SELECT
    • ORDER BY
  3. 子查询的使用:

    • 子查询可以嵌套在SELECT, FROM, WHERE等语句中。
    • 子查询必须出现在圆括号内。
  4. UNION和UNION ALL的区别:

    • UNION:返回两个或多个查询的结果集的并集,去除重复行。
    • UNION ALL:返回两个或多个查询的结果集的并集,包括重复行。
  5. 索引的使用:

    • 索引可以加快查询速度,但也会减慢写操作的速度。
    • 应该在经常用于搜索、排序和分组的列上创建索引。

第2章:牛客网SQL 80道题目

完整可见 详细完整题解 这个博客

  1. 完成牛客网上的80道SQL题目,这些题目涵盖了各种难度和类型,是提高SQL技能的好方法。
  2. 在做题过程中,注意总结和回顾每个题目的解题思路和技巧。

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

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的评论区
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后面就不放图片了,
在这里插入图片描述

第3章:总结

  1. 回顾常见错误: 分析在解题过程中遇到的问题和错误,确保理解每个错误的原因。
  2. 最佳实践: 总结在编写SQL查询时的一些最佳实践,例如避免使用SELECT *,合理使用索引等。
  3. 性能优化: 学习如何优化SQL查询的性能,例如通过减少子查询的使用,优化JOIN操作等。
  4. 构建自己的查询库: 创建一个个人SQL查询库,收集和整理在学习和实践中遇到的有用的查询。
    通过这个课程安排,您不仅可以巩固和提升您的SQL技能,还可以在实践中遇到和解决实际的问题。祝您学习愉快!

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

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

相关文章

TRIZ理论下攀爬机器人的创新设计与研究

随着科技的飞速发展,机器人技术已广泛应用于各个领域。特别是在复杂环境下的作业,如灾难救援、太空探测等,对机器人的移动能力和适应性提出了更高要求。在这样的背景下,基于TRIZ理论的攀爬机器人设计与研究应运而生,它…

.net9 AOT编绎生成标准DLL,输出API函数教程-中国首创

1,安装VS2022预览版(Visual Studio Preview) https://visualstudio.microsoft.com/zh-hans/vs/preview/#download-preview 2,选择安装组件:使用C的桌面开发 和 .NET桌面开发 ------------------------------------- …

ElasticSearch有账号密码时: kibana配置

上一篇文章我们介绍过ElasticSearch关闭账号密码的的方式: config/elasticsearch.yml文件中 xpack.security.enabled: false 当我们关闭 账号密码,kibana是可以直接访问ElasticSearch的。 真实项目中,我们是不允许数据库裸跑的,所…

Windows平台下的Oracle 19c补丁升级

Windows平台下的Oracle 19c补丁升级 文章目录 Windows平台下的Oracle 19c补丁升级第一章 概述第二章 安装前备份2.1 软件目录备份2.2 权限备份2.3 备份数据库 第三章 安装前检查3.1 查看数据库版本3.2 升级opatch版本 第四章 安装补丁4.1 设置环境变量4.2 关闭oracle相关服务4.…

【R语言】概率密度图

概率密度图是用来表示连续型数据的分布情况的一种图形化方法。它通过在数据的取值范围内绘制一条曲线来描述数据的分布情况,曲线下的面积代表了在该范围内观察到某一数值的概率。具体来说,对于给定的连续型数据,概率密度图会使用核密度估计&a…

工业级3D可视化工具HOOPS Visualize, 快速构建移动端和PC端工程应用程序!

HOOPS Visualize是一款强大的工业级3D渲染引擎,帮助您打造出众的工程应用程序。HOOPS Visualize的基石是图形内核,这是一种全功能的,以工程为重点的场景图技术,我们称为Core Graphics。Core Graphics集成到一个框架中,…

保护视力,从 CareUEyes 开始 —— 你的电脑护眼小助手

在数字化时代,我们的眼睛比以往任何时候都更频繁地面对屏幕。长时间盯着电脑工作,不仅影响视力,还可能导致眼疲劳和不适。今天,我要向大家推荐一款专为电脑用户设计的护眼软件——CareUEyes。 CareUEyes:你的视力守护者…

IntelliJ IDEA配置类注释模板和方法注释模板

配置类注释模板和方法注释模板 IDEA模板预定义变量类注释模方法注释模板方法参数优化 IDEA模板 在IDEA中,自带的注释模板可能不满足自身需求或者不满意,此时可以通过配置IDEA模板来解决。 预定义变量 内置模板是可编辑的,除了静态文本、代码和…

你的RPCvs佬的RPC

一、课程目标 了解常见系统库的hook了解frida_rpc 二、工具 教程Demo(更新)jadx-guiVS CodejebIDLE 三、课程内容 1.Hook_Libart libart.so: 在 Android 5.0(Lollipop)及更高版本中,libart.so 是 Android 运行时(ART&#x…

STM32 HAL库之使用8080时序在LCD上实现任意位置画点和读点以及字符显示

必要知识 本实验用的是240*320屏幕 LCD的驱动原理: LCD屏(MCU接口)驱动的核心是:驱动LCD驱动芯片 LCD驱动基本知识: 1,8080时序,LCD驱动芯片一般使用8080时序控制,实现数据写入/读取 2&…

Photoshop 2024 (ps) v25.6中文 强大的图像处理软件 mac/win

Photoshop 2024 for Mac是一款强大的图像处理软件,专为Mac用户设计。它继承了Adobe Photoshop一贯的优秀功能,并进一步提升了性能和稳定性。 Mac版Photoshop 2024 (ps)v25.6中文激活版下载 win版Photoshop 2024 (ps)v25.6直装版下载 无论是专业的设计师还…

Maven多模块管理

Maven多模块管理 在了解怎么进行Maven多模块管理之前,先聊聊为什么要进行Maven多模块管理 为什么要Maven多模块管理? 在传统的单体架构开发下,一个项目中的依赖只需要使用一个pom.xml文件管理即可。但是随着微服务的流行,将原有…

【每日刷题】Day17

【每日刷题】Day17 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 2. 162. 寻找峰值 - 力扣…

详解运算符重载,赋值运算符重载,++运算符重载

目录 前言 运算符重载 概念 目的 写法 调用 注意事项 详解注意事项 运算符重载成全局性的弊端 类中隐含的this指针 赋值运算符重载 赋值运算符重载格式 注意点 明晰赋值运算符重载函数的调用 连续赋值 传引用与传值返回 默认赋值运算符重载 前置和后置重载 前…

使用 Flask-WTF 防止跨站请求攻击(CSRF):一份全面指南

在构建 Web 应用时,防止跨站请求攻击(CSRF)是一项至关重要的安全措施。CSRF 攻击允许恶意网站执行未经授权的操作,如用户身份验证或数据篡改。幸运的是,Flask-WTF 库为我们提供了强大的 CSRF 保护功能。在本篇博客中&a…

【模拟】Leetcode 数青蛙

题目讲解 1419. 数青蛙 算法讲解 class Solution { public:int minNumberOfFrogs(string croakOfFrogs) {string target "croak";int n target.size();//保存target每个字符的位置indexunordered_map<char, int>index;for(int i 0; i < n; i)index[tar…

Day08React——第八天

useEffect 概念&#xff1a;useEffect 是一个 React Hook 函数&#xff0c;用于在React组件中创建不是由事件引起而是由渲染本身引起的操作&#xff0c;比如发送AJAx请求&#xff0c;更改daom等等 需求&#xff1a;在组件渲染完毕后&#xff0c;立刻从服务器获取频道列表数据…

什么是Rust语言?探索安全系统编程的未来

&#x1f680; 什么是Rust语言&#xff1f;探索安全系统编程的未来 文章目录 &#x1f680; 什么是Rust语言&#xff1f;探索安全系统编程的未来摘要引言正文&#x1f4d8; Rust语言简介&#x1f31f; 发展历程&#x1f3af; Rust的技术意义和优势&#x1f4e6; Rust解决的问题…

HarmonyOS开发实例:【分布式新闻客户端】

介绍 本篇Codelab基于栅格布局、设备管理和多端协同&#xff0c;实现一次开发&#xff0c;多端部署的分布式新闻客户端页面。主要包含以下功能&#xff1a; 展示新闻列表以及左右滑动切换新闻Tab。点击新闻展示新闻详情页。点击新闻详情页底部的分享按钮&#xff0c;发现周边…

Go 之 sync.Mutex 加锁失效现象

我先声明一下&#xff0c;并不是真的加锁失效&#xff0c;而是我之前的理解有误&#xff0c;导致看起来像是加锁失效一样。于是乎记录一下&#xff0c;加深一下印象。 我之前有个理解误区&#xff08;不知道大家有没有&#xff0c;有的话赶紧纠正一下——其实也是因为我这块的…