所有可能接触项目后端的开发人员都应该了解哪些有用的 SQL 语句/使用模式?

发布于 2024-08-29 16:40:23 字数 341 浏览 7 评论 0原文

所有可能接触项目后端的开发人员都应该了解哪些有用的 SQL 语句?

更新:就像在算法中一样,我们知道存在排序问题、洗牌问题,并且我们知道它们的一些解决方案。这个问题针对的是同一件事)。

例如,我能想到的一个是:

获取不存在的类的列表 由任何学生注册。 (外 join 并检查是否匹配 NULL,或通过从 Classes 表获取, 所有不在其中的 ClassID(a 子查询以获取所有 ClassID 登记表))

是否有一些 SQL 语句应该放在所有可能接触后端数据的开发人员的口袋里?

What are some useful SQL statements that should be known by all developers who may touch the Back end side of the project?

(Update: just like in algorithm, we know there are sorting problems, shuffling problems, and we know some solutions to them. This question is aiming at the same thing).

For example, one I can think of are:

Get a list of Classes that are not
registered by any students. (Outer
join and check whether the match is
NULL, or by Get from Classes table,
all ClassIDs which are NOT IN (a
subquery to get all ClassIDs from the
Registrations table))

Are there some SQL statements that should be under the sleeve of all developers that might touch back end data?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小镇女孩 2024-09-05 16:40:23

嗯,概括一下您应该能够编写哪些类型的查询。

  1. 首先直接选择没有
    连接(并且没有选择*)
  2. 你应该知道如何组合两个
    或更多表并获取记录
    在所有表格中
  3. 你应该知道如何组合两个
    或更多表并获取记录
    位于所有表中但返回
    表中只有一条记录
    一对多的多方面
    关系
  4. 你应该能够得到
    记录在一个表中,但不在一个表中
    关联表
  5. 您应该能够聚合数据
    对于报告
  6. 您应该能够插入一个
    记录到表中
  7. 您应该能够更新一个
    表中的记录
  8. 您应该能够删除一个
    在表中记录
  9. 您应该能够插入一个组
    记录到没有记录的表
    光标
  10. 您应该能够更新
    表中的一组记录,没有
    一个光标
  11. 你应该能够删除一个
    表中的一组记录,没有
    一个光标
  12. 你应该能够执行
    一笔交易中的多个操作
    并处理错误捕获
  13. 您应该能够创建联合
    记录并知道何时使用
    UNION 副 UNION ALL
  14. 您应该能够改变数据
    对于一个基于某些的字段
    标准(使用 CASE)
  15. 您应该能够编写 IF
    陈述。

嗯,这就是我立即想到的。当然,这是针对初级 SQL 开发人员的。这不包括任何我认为先进的内容。

Hmm generalizing what types of queries you should be able to write.

  1. First a straight up select with no
    joins (and no select *)
  2. You should know how to combine two
    or more tables and get records that
    are in all the tables
  3. You should know how to combine two
    or more tables and get records that
    are in all the tables but return
    only one record from the table with
    the many side of the one-to-many
    relationship
  4. You should be able to get the
    records in one table but not in an
    associated table
  5. You should be able to Aggregate data
    for a report
  6. You should be able to insert one
    record to a table
  7. You should be able to update one
    record in a table
  8. You should be able to delete one
    record in a table
  9. You should be able to insert a group
    of records to a table without a
    cursor
  10. You should be able to update a
    group of records in a table without
    a cursor
  11. You should be able to delete a
    group of records in a table without
    a cursor
  12. You should be able to perform
    multiple actions in one transaction
    and handle error trapping
  13. You should be able to create union
    of records and know when to use
    UNION vice UNION ALL
  14. You should be able to vary the data
    for one field based on some
    criteria (using CASE)
  15. You should be able to write an IF
    Statement.

Well that's what springs to mind immedaitely. This is for a beginner SQL developer of course. This includes nothing I would consider advanced.

烦人精 2024-09-05 16:40:23

开发人员应该学习数据库和SQL的原理。并不是任何特定的 SQL 语句,因为所需的 SQL 语句将根据数据库存储的内容和数据库的结构而改变。

更新:您更新的问题很有趣。我认为 SQL 语句一般来说非常简单。所以它们不值得记住。如果它们很复杂,那么它们就与特定的问题相关,并且同样不值得记住。

Developers should learn the principles of databases and SQL. Not any specific SQL statements as SQL statements required will change depending on what the database stores and the structure of the database.

Update: Your updated question is interesting. I am thinking SQL statements in general are quite simple. So they are not worth memorising. If they are complex then they are tied to a specific problem and again are not worth memorising.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文