问题
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?
回答1:
Hmm generalizing what types of queries you should be able to write.
- First a straight up select with no
joins (and no select *) - You should know how to combine two or more tables and get records that are in all the tables
- 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
- You should be able to get the records in one table but not in an associated table
- You should be able to Aggregate data for a report
- You should be able to insert one record to a table
- You should be able to update one record in a table
- You should be able to delete one record in a table
- You should be able to insert a group of records to a table without a cursor
- You should be able to update a group of records in a table without a cursor
- You should be able to delete a group of records in a table without a cursor
- You should be able to perform multiple actions in one transaction and handle error trapping
- You should be able to create union of records and know when to use UNION vice UNION ALL
- You should be able to vary the data for one field based on some criteria (using CASE)
- 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.
回答2:
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.
来源:https://stackoverflow.com/questions/2701479/what-are-some-useful-sql-statements-usage-patterns-that-should-be-known-by-all