Updated June 17, 2023
Introduction To Advance SQL Interview Questions And Answers
So you have finally found your dream job in Advance SQL but are wondering how to crack the 2023 Advance SQL Interview and what could be the probable Advance SQL Interview Questions. Every interview is different, and the job scope is different too. Keeping this in mind, we have designed the most common Advance SQL Interview Questions and Answers to help you get success in your interview.
Below are the top Advance SQL Interview Questions that are asked frequently in an interview:
1. What is a Synonym?
A synonym allows you to create alternate names for objects inside the database. If an object is renamed or the schema of an object is changed, a synonym can enable existing applications to continue to use the old names. Synonyms can reference objects in different databases or servers using three or four-part object names. A synonym must reference a database object and not another synonym. Multiple terms can be created for a single database object so long as they all refer directly to the database object.
2. What are the advantages of using Synonyms?
- SYNONYMs provide a layer of abstraction over the referenced object
- Allow changes to complicated (multi-part) and lengthy names with a simplified alias as the same server resident object.
- It provides flexibility for changing the location of objects without changing existing code.
- Synonyms can be created in the same database to provide backward compatibility for older applications in case objects are dropped or renamed.
- Synonyms can be helpful if you give the front-end queries tools like spreadsheets and Access linked tables direct links into the tables.
3. Highlight a few disadvantages of using synonyms?
- Synonyms are loosely coupled to the referenced objects, which means SYNONYM can be deleted without showing any warning that any other database object is referencing it.
- Chaining within is not allowed. It means that you cannot create a SYNONYM of a SYNONYM.
- You cannot create a table with the same name as a synonym
- The object for which the SYNONYM is being created is checked at runtime. It is not checked at the creation time. Therefore if you make any related error, e.g., a spelling error, the synonym will be completed successfully, but you will get an error while accessing the object.
- SYNONYM cannot be referenced in a DDL statement
4. Name the commonly used Aggregate Functions in SQL Server
AVG, CHECKSUM_AGG, COUNT, COUNT_BIG, GROUPING, MAX, MIN, SUM, STDEV, STDEVP, VAR, VARP
5. Explain the usage of Aggregate functions?
|AVG||Returns the average value in the set. Ignores null values; can be configured to average all values (the default) or only distinct values in the set.|
|CHECKSUM_AGG||Returns the checksum of the values in the group, either all or distinct, ignoring null values.|
|COUNT||Returns the number of rows, all or distinct, based on an expression or (optionally) a simple row count.|
|COUNT_BIG||It executes like COUNT, except it returns a bigint rather than an int datatype.|
|GROUPING||Indicates if a specified column in a GROUP BY list is aggregate. Returns 0 or 1.|
|MAX||Returns the maximum value in the set based on the provided column name.|
|MIN||Returns the minimum value in the set based on the provided column name.|
|SUM||Returns the sum of values in the set based on the provided column name.|
|STDEV||Returns the statistical standard deviation of all values based on the provided column name.|
|STDEVP||Returns the statistical population standard deviation of all values based on the provided column name.|
|VAR||Returns the statistical variance of all values based on the provided column name.|
|VARP||Returns the statistical population variance of all values based on the provided column name.|
6. Name different types of possible joins in SQL.
INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN, CROSS JOIN
7. Describe various Join types?
|INNER JOIN||Returns requested data for every row in each table only where there is an exact match on the join field.|
|LEFT OUTER JOIN||Returns requested data for all rows from the first table stated in the join operation; only returns data for rows from the second stated table with a matching value. This can result in null values when the first stated table in the join has a row with no matching row(s) in the second stated table.|
|RIGHT OUTER JOIN||Returns requested data for all rows from the second table stated in the join operation; only returns data for rows from the first stated table with a matching value. This can result in null values when the second stated table in the join has a row with no matching row(s) in the first stated table.|
|FULL OUTER JOIN||Returns requested data for all rows in both correlated tabled, but the result will contain null values for rows with no matching join value on the other side.|
|CROSS JOIN||Returns a Cartesian (Cross) product; in other words, all possible combinations of rows between the two tables.|
8. What are Scalar Subqueries and Correlated Subqueries
When a subquery returns exactly one row and one column of data, it is considered a scalar subquery.
Sometimes, a subquery cannot process without information from the outer query. In these cases, table aliases are used to define the scope of the query arguments and allow the subquery to be “parameterized” from the outer query. The inner query is, therefore, correlated to the outer query. The net effect is a “back and forth” execution where a single row from the result of the outer query is permitted to pass parameters to the inner query for execution.
9. How will you find the second highest salary of an employee?
Select MAX (salary) from EDUCBA_Employee WHERE salary NOT IN (select MAX(salary) from EDUCBA_EMPLOYEE)
10. What are Common Table Expressions (CTE)
The Common Table Expression (CTE) was introduced in SQL Server 2005. The CTE aims to provide a syntactical option that allows the developer to work with temporary data structures logically rather than physically. Instead of creating temporary tables or table variables to accomplish more complex tasks, the SQL developer can now use the CTE and simplify the logic significantly. The basic format of CTE is
WITH expression_name [ ( column_name [,…n] ) ] AS
( CTE_query_definition )
11. How to get alternate records from the table?
Records can get for both Odd and Even row numbers -.
For even numbers: –
Select employee_id from (Select rowno, employee_id from employee) where mod(rowno,2) =0
For odd numbers: –
Select employee_id from (Select rowno, employee_id from employee) where mod(rowno,2) =1
12. What is the difference between NVL and NVL2 functions?
The NVL (exp1, exp2) function converts the expression exp1 to the target expression exp2 if exp1 contains NULL. exp1 has the same data type as that of a return value.
The NVL2 (exp1, exp2, exp3) function checks the first expression exp1; if exp1 is not null, the second expression exp2 is returned. If the first expression, exp1, is null, then the third expression, exp3, is returned.
This has been a guide to the List of Advanced SQL Questions and Answers so that the candidate can easily crack down on these Advance SQL Questions. You may also look at the following articles to learn more –