Are these SQL concepts for beginners, intermediate, or advanced developers? [closed]

I’ve been learning SQL recently and practicing with MySQL/Postgres and soon Oracle DB. I’ve also search the web for a ‘road map’ study of databases but couldn’t find one, unfortunately.

I want to understand where and why particular database concepts fall on the scale from beginner to intermediate and advanced. I’m thinking about relational databases for the most part.

Please explain how to lay out skills listed below in a progression of Beginner -> Intermediate -> Advanced for what level of developer should know them:

  • Where clauses
  • Update syntax
  • Joins
  • Alter and Create statements
  • Temp tables
  • Cursors
  • Indexes
  • Foreign keys
  • Constraints
  • Transactions
  • Subqueries
  • Pivots
  • Aggregate functions
  • Profiling
  • OLAP and OLTP
  • Triggers
  • Execution plans
  • Execution hints
  • Performance counters
  • Normalization

I would say there are two types of things to know in regards to SQL (this is true of many technologies really), there are specific technical things like joins, subqueries, unions, etc which you understand or don’t, and then there’s things like database design and data modelling which has a gradient of skill in it, like art. You get better over time with those softer things, but never “know” them because there’s no “they work this way” with them.

That said, here’s a general layout I would go with, and am absolutely open to comments/thoughts from others where I may be wrong.

Beginner

  • Where clauses (in, between, etc)
  • Update syntax
  • Inner vs left vs right join understanding and usage
  • Syntax for altering and creating structures
  • Temp tables and their usage
  • Cursors
  • Basic idea what indexes are for, though not how they work
  • Understanding of what foreign keys are for and how to work around them (cascading deletes etc)
  • Understands basics of transactions
  • Understands constraints

Intermediate

  • How indexes work, difference between clustered, non-clustered, etc, what a page is and how they layout
  • Understanding of subqueries, and can think through using them in joins and wheres
  • Pivots
  • Can think through joining a table on itself when relevant
  • Can generate complex data reports via group bys with aggregate functions
  • Can do basic profiling just in a monitoring/debugging capacity like reading a log
  • Understands the difference between OLAP and OLTP and when/where to use OLAP structures
  • Knows how to use triggers and not to use them
  • Understands transactions and can layer them handling failures up the stack

Advanced

  • Can read an execution plan, and understand how the different parts of the query effect it
  • Can tune queries with execution hints without screwing up performance (parallelism hints, index hints, loop hints, et al)
  • Can profile and use traces for identifying and understanding statistics of executions under real-world load
  • Knows what the data structures are on the disk
  • Can use performance counters and understand what the database load and behaviour is from monitoring them
  • Knows how to design an OLAP cube and do advanced data mining with one
  • Knows how to use triggers and how to use them safely, with minimal risk
  • Knows how to use distributed transactions even with layers

That’s all I could come up with off the top of my head. Please leave comments mentioning others I missed or if I put something in the wrong place. I’m not advanced enough to know a huge list of advanced techniques to put down heh

1

Here is the scale I use while interviewing candidates. This is obviously my own personal opinion, scales can easily vary:

First, I am looking for database skills, not specifically “SQL”.

Beginner:

  • Knows basic SQL syntax
  • Can select and filter data across multiple
    tables
  • Understands inner/outer/cross joins
  • Vague understanding of
    normalization, indexing, transactions, locking

Intermediate:

  • Understands differences between procedural and declaritive styles for SQL
  • Experience with at least one DBs SQL extensions (PSQL, TSQL, etc)
  • Understands, and can design a database in, third normal form
  • Understands and can implement indexing
  • Understands transactions, and can use them in a single database
  • Knows when and how to analyze an execution plan

Advanced:

  • Understands when and how to denormalize a database
  • Understands how to setup distributed transactions across a database and integrated systems
  • Can setp a database for high availability, data recovery, etc
  • Deep unuderstanding of each DB engine’s internal workings (at least two)
  • Extra points for significant exposure to data warehousing and reporting
  • Extra points for significant exposure to variants of NoSQL, and a rational set of criteria for when to use what

1

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật