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

第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技能,还可以在实践中遇到和解决实际的问题。祝您学习愉快!
相关推荐
AI人工智能+电脑小能手1 分钟前
【大白话说Java面试题 第94题】【Mysql篇】第24题:什么是单路排序?什么是双路排序??
java·开发语言·数据库·mysql·面试·排序算法
我是一颗柠檬1 分钟前
【Java项目技术亮点】多级缓存一致性方案:Canal+MQ实现数据库与缓存的最终一致
java·数据库·spring·缓存·kafka·rocketmq
WarPigs2 分钟前
C# EntityFramework笔记
数据库·c#
csdn_aspnet2 分钟前
mysql 查询树形,id与pid关联
数据库·mysql·tree·树形
郝学胜-神的一滴5 分钟前
系统设计 014:缓存深度实战:如何用 Cache 优雅优化数据库读写?
java·数据库·python·缓存·oracle·php·软件构建
点灯小铭9 分钟前
基于单片机的智能一体化自动咖啡机设计
数据库·单片机·毕业设计·课程设计·期末大作业
JdSnE27zv13 分钟前
数据库表字段命名规范
数据库·oracle
隔窗听雨眠20 分钟前
ORM框架选型指南:MyBatis与Hibernate的全面对比
java·开发语言·数据库
tedcloud12321 分钟前
Dolt部署教程:打造可追踪数据变更的数据库环境
服务器·数据库·人工智能·学习·自动化·powerpoint
数据库小学妹30 分钟前
MySQL 误删数据恢复全流程:Binlog 回放+全量备份+延迟从库三种方案实战
数据库·经验分享·mysql·dba