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 Advance SQL Interview and what could be the probable Advance SQL Interview Questions. Every interview is different and the scope of a job 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 is 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 of the database. If an object is renamed, or the schema of an object is changed, a synonym can allow existing applications to continue to use the old names. Synonyms can also reference objects in different databases, or even different servers, by using three-part or four-part object names. A synonym must reference a database object, and not another synonym. Multiple names 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 a same server resident object.
- 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 of a drop or rename of objects.
- SYNONYMs can be useful if you give the front-end query tools like spreadsheets and Access linked tables’ direct links into the tables.
3. Highlight few disadvantages of using synonyms?
- SYNONYMs are loosely coupled to the referenced objects which mean SYNONYM can be deleted without showing any warning that it is being referenced by any other database object.
- Chaining within is not allowed. It means that you cannot create SYNONYM of a SYNONYM.
- You cannot create a table with the same name of a synonym
- The object for which the SYNONYM is being created is checked at runtime. It is not checked at creation time. Therefore if you make any related error e.g. spelling error, the synonym will be created 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||Executes like COUNT, except that 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 where there is a matching value. This can result in null values in the result 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 where there is a matching value. This can result in null values in the result 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 is 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 is Common Table Expressions (CTE)
The Common Table Expression (CTE) was introduced in SQL Server 2005. The purpose of the CTE is to provide a syntactical option that allows the developer to work with temporary data structures logically rather than physically. Instead of having to create 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 the 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 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 then, the second expression exp2 is returned as a result. If the first expression exp1 is null, then the third expression exp3 is returned as a result.
This has been a guide to the List of Advanced SQL Interview Questions and Answers so that the candidate can crackdown these Advance SQL Interview Questions easily. You may also look at the following articles to learn more –