SQL Server-Interview Question
SQL Server-Interview Question
A database is a collection of information in an organized form for faster and better access, storage
and manipulation. It can also be defined as a collection of tables, schema, views, and other database
objects.
Data warehouse refers to a central repository of data from multiple sources of information. Those
data are consolidated, transformed and made available for the mining as well as online processing.
A table is a database object used to store records in a field in the form of columns and rows that
holds data.
A field in a Database table is a space allocated to store a particular record within a table.
A record (also called a row of data) is an ordered set of related data in a table.
A column is a vertical entity in a table that contains all information associated with a specific field in
a table.
7. What is DBMS?
Database Management System is a collection of programs that enables a user to store, retrieve,
update and delete information from a database.
9. What is RDBMS?
RDBMS stands for Relational Database Management System. RDBMS is a database management
system (DBMS) that is based on the relational model. Data from a relational database can be
accessed using Structured Query Language (SQL)
10. What are the popular Database Management Systems in the IT Industry?
Oracle, MySQL, Microsoft SQL Server, PostgreSQL, Sybase, MongoDB, DB2, and Microsoft Access
etc.,
SQL Overview: SQL stands for Structured Query Language. It is an American National Standard
Institute (ANSI) standard. It is a standard language for accessing and manipulating databases. Using
SQL, some of the action we could do are to create databases, tables, stored procedures (SP’s),
execute queries, retrieve, insert, update, delete data against a database.
DDL commands are used to define or alter the structure of the database.
• TRUNCATE: To remove all records from a table but not its database structure
DML commands are used for managing data present in the database.
DCL commands are used to create roles, grant permission and control access to the database
objects.
TCL commands are used to manage the changes made by DML statements.
An index is used to speed up the performance of queries. It makes faster retrieval of data from the
table. The index can be created on one column or a group of columns.
1. Unique Index: Unique Indexes helps maintain data integrity by ensuring that no two rows of data
in a table have identical key values. A unique index can be applied automatically when a primary key
is defined. It ensures that the values in the index key columns are unique.
2. Clustered Index: Clustered Index reorders the physical order of the table and search based on the
key values. There will be only one clustered index per table.
3. Non-Clustered Index: Non-Clustered Index doesn’t alter the physical order of the table and
maintains a logical order of the data. Each table can have many non-clustered indexes.
The difference between the clustered and non-clustered index in SQL is as follows:
Clustered Index:
It is used for easy retrieval of data from the database and it is faster.
It alters the way records are stored in a database as it sorts out rows by the column which is set to
be clustered index.
Non-Clustered Index:
It doesn’t alter the way it was sorted but it creates a separate object within a table which points
back to the original table rows after searching.
A view is like a subset of a table which is stored logically in a database. A view is a virtual table. It
contains rows and columns similar to a real table. The fields in the view are fields from one or more
real tables. Views do not contain data of their own. They are used to restrict access to the database
or to hide data complexity.
2. Views are used to simply retrieve the results of complicated queries that need to be
executed often.
3. Views are used to restrict access to the database or to hide data complexity.
Database Relationship is defined as the connection between the tables in a database. There are
various database relationships namely
4. Self-Referencing Relationship
A database query is a request for data or information from a database table or combination of
tables. A database query can be either a select query or an action query.
A Subquery is a SQL query within another query. It is a subset of a Select statement whose return
values are used in filtering the conditions of the main query.
1. Correlated: In a SQL database query, a correlated subquery is a subquery that uses values from
the outer query in order to complete. Because a correlated subquery requires the outer query to be
executed first, the correlated subquery must run once for every row in the outer query. It is also
known as a synchronized subquery.
2. Non-Correlated: A Non-correlated subquery is a subquery in which both outer query and inner
query are independent to each other.
27. What is the difference between Local Variables and Global Variables?
Local Variables: Local variables can be used or exist only inside the function. These variables are not
used or referred by any other functions. These are not known to other functions. Variables can be
created whenever that function is called.
Global Variables: Global variables can be used or exist throughout the program. Same variable
declared in global cannot be used in functions. Global variables cannot be created whenever that
function is called.
Auto increment keyword allows the user to create a unique number to get generated when a new
record is inserted into a table. Auto increment keyword can be used whenever Primary Key is used.
AUTO INCREMENT keyword is used in Oracle and IDENTITY keyword is used in SQL Server.
Ans. A temp table is a temporary storage structure to store the data temporarily.
The SQL SELECT DISTINCT query is used to return only unique values. It eliminates all the duplicated
values.
Join is a query, which retrieves related columns or rows from multiple tables.
• INNER JOIN
• LEFT JOIN
• RIGHT JOIN
• OUTER JOIN
An inner join returns rows when there is at least some matching data between two (or more) tables
that are being compared.
An outer join returns rows from both tables that include the records that are unmatched from one
or both the tables.
SQL constraints are the set of rules that enforced some restriction while inserting, deleting or
updating of data in the databases.
A unique constraint is used to ensure that there are no duplication values in the field/column.
A PRIMARY KEY constraint uniquely identifies each record in a database table. All columns
participating in a primary key constraint must not contain NULL values.
The short answer is no, a table is not allowed to contain multiple primary keys but it allows to have
one composite primary key consisting of two or more columns.
Composite PRIMARY KEY is a primary key created on more than one column (combination of
multiple fields) in a table.
A FOREIGN KEY is a key used to link two tables together. A FOREIGN KEY in a table is linked with the
PRIMARY KEY of another table.
44. What is the difference between UNIQUE and PRIMARY KEY constraints?
There should be only one PRIMARY KEY in a table whereas there can be any number of UNIQUE
Keys.
PRIMARY KEY doesn’t allow NULL values whereas Unique key allows NULL values.
A field with a NULL value is a field with no value. A NULL value is different from a zero value or a field
that contains spaces. A field with a NULL value is one that has been left blank during record creation.
Assume, there is a field in a table is optional and it is possible to insert a record without adding a
value to the optional field then the field will be saved with a NULL value.
46. What is the difference between NULL value, Zero, and Blank space?
As I mentioned earlier, Null value is field with no value which is different from zero value and blank
space.
Zero is a number
Blank space is the value we provide. The ASCII value of space is CHAR(32).
NOT NULL constraint is used to ensure that the value in the filed cannot be a NULL
A CHECK constraint is used to limit the value that is accepted by one or more columns.
E.g. ‘Age’ field should contain only the value greater than 18.
1 CREATE TABLE EMP_DETAILS(EmpID int NOT NULL, NAME VARCHAR (30) NOT NULL, Age INT
CHECK (AGE > 18), PRIMARY KEY (EmpID));
DEFAULT constraint is used to include a default value in a column when no value is supplied at the
time of inserting a record.
A Trigger is a SQL procedure that initiates an action in response to an event (Insert, Delete or
Update) occurs. When a new Employee is added to an Employee_Details table, new records will be
created in the relevant tables such as Employee_Payroll, Employee_Time_Sheet etc.,