所有可能触及项目后端的开发人员应该知道哪些有用的SQL语句/使用模式?

nop*_*ole 6 sql database backend

所有可能触及项目后端的开发人员应该知道哪些有用的SQL语句?

(更新:就像在算法中一样,我们知道存在排序问题,改组问题,我们知道它们的一些解决方案.这个问题的目标是同样的事情).

例如,我能想到的是:

获取未由任何学生注册的课程列表.(外连接并检查匹配是否为NULL,或者通过Get from Classes表,所有不是IN的ClassID(用于从Registrations表中获取所有ClassID的子查询))

是否有一些SQL语句应该在所有可能触及最终数据的开发人员的支持下?

HLG*_*GEM 7

嗯概括了你应该能够编写什么类型的查询.

  1. 首先是没有
    连接的直接选择(并且没有选择*)
  2. 您应该知道如何组合两个或多个表并获取所有表中的记录
  3. 您应该知道如何组合两个或多个表并获取所有表中的记录,但只返回表中的一个记录,其中包含一对多关系的多个边
  4. 您应该能够在一个表中获取记录,但不能在关联的表中获取记录
  5. 您应该能够汇总报告的数据
  6. 您应该能够将一条记录插入表中
  7. 您应该能够更新表中的一条记录
  8. 您应该能够删除表中的一条记录
  9. 您应该能够在没有光标的情况下将一组记录插入到表中
  10. 您应该能够在没有游标的情况下更新表中的一组记录
  11. 您应该能够在没有光标的情况下删除表中的一组记录
  12. 您应该能够在一个事务中执行多个操作并处理错误捕获
  13. 您应该能够创建记录联合并知道何时使用UNION副UNION ALL
  14. 您应该能够根据某些条件更改一个字段的数据(使用CASE)
  15. 你应该能够写一个IF语句.

嗯,这是立即浮现在脑海中的东西.这当然是初学者SQL开发人员.这包括我认为不会提出的任何内容.


AJ *_*wal 6

开发人员应该学习数据库和SQL的原理.根据数据库存储的内容和数据库的结构,不需要任何特定的SQL语句作为所需的SQL语句.

更新:您更新的问题很有趣.我认为SQL语句一般都很简单.所以他们不值得记住.如果它们很复杂,那么它们就与特定问题联系在一起,而且不值得记忆.