所有可能接触项目后端的开发人员都应该了解哪些有用的 SQL 语句/使用模式?
所有可能接触项目后端的开发人员都应该了解哪些有用的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
嗯,概括一下您应该能够编写哪些类型的查询。
连接(并且没有选择*)
或更多表并获取记录
在所有表格中
或更多表并获取记录
位于所有表中但返回
表中只有一条记录
一对多的多方面
关系
记录在一个表中,但不在一个表中
关联表
对于报告
记录到表中
表中的记录
在表中记录
记录到没有记录的表
光标
表中的一组记录,没有
一个光标
表中的一组记录,没有
一个光标
一笔交易中的多个操作
并处理错误捕获
记录并知道何时使用
UNION 副 UNION ALL
对于一个基于某些的字段
标准(使用 CASE)
陈述。
嗯,这就是我立即想到的。当然,这是针对初级 SQL 开发人员的。这不包括任何我认为先进的内容。
Hmm generalizing what types of queries you should be able to write.
joins (and no select *)
or more tables and get records that
are in all the tables
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
records in one table but not in an
associated table
for a report
record to a table
record in a table
record in a table
of records to a table without a
cursor
group of records in a table without
a cursor
group of records in a table without
a cursor
multiple actions in one transaction
and handle error trapping
of records and know when to use
UNION vice UNION ALL
for one field based on some
criteria (using CASE)
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.
开发人员应该学习数据库和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.