The rest of the job opening list may provide context to better understand what "Advanced SQL" might include.
I disagree with comments and answers indicating that understanding JOINs and aggregated queries are “advanced” skills; I'm afraid many employers find this pretty simple. Here's a rough guess what "Advanced" may mean.
Over the past few years, the “terrible” lot of new things has appeared in the RDBMS domain!
The “Advanced SQL” requirement probably hints at the knowledge and possibly knowledge of several new concepts , such as:
- CTE (common table expressions)
- UDF (custom functions)
- Full Text Search / Integration Extensions
- performance tuning using new partitioning schemes, filtered indexes, sparse columns ...)
- new data types (e.g. GIS / spatial or hierarchical)
- XML Support / Integration
- LINQ
- and a few more ... (By the way, the above list is somewhat oriented to MSSQL, but a similar evolution is observed on most other DBMS platforms).
Although supporting (and cons) new functions is an important task for any "advanced SQL" practitioner, the old "advanced basics" are probably also considered part of the "advanced" :
- triggers and stored procedures on large
- Cursors (when to use, how to avoid ...)
- design experience: definition of tables, indexing, type of indexes
- overall performance tuning experience
- query optimization (reading query plans, knowing what is essentially slow, etc.).
- Procedural SQL
- ...
Note: The aforementioned focuses on programming / lead skills. Advanced SQL can also refer to experience with administrative roles (replication, backup, hardware layout, user management ...). Think about it, a serious programmer should be familiar with such practices.
Edit : LuckyLindy posted a comment, which I found rather insightful. This suggests that Advanced can effectively have a different purpose than implying a fair expert level in most of the categories listed above ...
I repeat this comment here to make it more visible.
I think many companies publish Advanced SQL because they are tired of having someone say, “I am an SQL expert,” and it’s hard for me to assemble 3 external external connections. I publish such materials in the transaction entries, and my expectation is simply that the candidate does not need to constantly contact me for help in writing SQL. (LuckyLindy comment)
mjv Jan 13 '10 at 3:22 2010-01-13 03:22
source share