SQL, or Structured Query Language, is a domain-specific programming language used in database management systems to manage results. Since every business application uses Database Management Systems (DBMS) virtually, SQL programming skills are highly desired and needed in the industry. Candidates must pass an interview in which they will be asked various SQL interview questions to be considered for employment.
Based on their background and other considerations, they can ask the candidates simple SQL interview questions up to advanced SQL interview questions. Here is a compiled collection of SQL interview questions and responses that are likely to be posed during the SQL interview. Both SQL interview questions for freshers and for advanced applicants are included in the list below.
Top SQL Interview Questions
To start, brush yourself with the top SQL interview questions.
1. What exactly is SQL?
The Structured Query Language is an acronym for SQL. SQL is a query language used to manage relational databases and execute various data manipulation operations on them. SQL was first created in 1970. It's a database language that we can use to create, remove, fetch, and change rows, among many other things. It's also pronounced as 'sequel.'
2. What are the differences between tables and fields in a database?
A table is a set of data that has been organized. There are rows and columns in it. The term "rows" refers to tuples that display a single data object, while "columns" refers to the properties of the data items in a given row. Vertical columns are vertical, while horizontal rows are horizontal.
A table has a certain number of columns called fields, but it may have any number of rows referred to as records. As a result, the fields are the columns in the database table. It reflects the attribute or features of the object in the record.
3. What are the SQL subsets?
There are three major SQL subsets:
● Data definition language (DDL): DDL is a programming language used to describe data structures. It includes commands such as CREATE, ALTER, DROP, and others.
● DML (data manipulation language): DML is a programming language used to modify. At the same time, a database. SELECT, UPDATE, INSERT, and other commands fall under this category.
● Data control language (DCL): DCL is a programming language used to control database access and contains commands like GRANT and REVOKE.
4. What is a Data Manipulation Language, and how does it work?
The user can extract and modify data using data manipulation terminology. It is used to carry out the following tasks.
● The INSERT command is used to insert data into a database.
● The SELECT command is used to retrieve data from a database.
● The UPDATE command is used to update data in the database.
● Using the DELETE command, you can remove data from the database.
5. When did SQL initially appear?
It was first published in 1974. One of the most commonly used languages for relational database management is SQL. SQL stands for Structured Query Language. In 1986, the American National Standards Institute (ANSI) adopted SQL as a standard, and in 1987, the International Organization for Standardization (ISO) adopted it.
6. What is Data Control Language, and how does it work?
You may use data control language to restrict database access. DCL is the only database subset that determines which parts of the database can be accessed by which individual and at what time. GRANT and REVOKE are two commands used.
● GRANT: To authorize a specific person to execute a particular activity.
● REVOKE: To revoke permissions that had already been withheld or issued.
7. What is the concept of a primary key?
A primary key is a field (or a set of fields) that uniquely identifies a row. A primary key is a rare kind of one-of-a-kind key. Values for primary keys cannot be NULL. The Social Security Number, for example, may be used as the primary key for any person.
8. Is SQL a programming language?
The Standard Query Language (SQL) is a query language, not a programming language. SQL does not have a loop, conditional statements, or logical operations, so it can only be used to manipulate information. It is used to navigate databases in the same way as commanding (Query) language is used. The primary goal of SQL is to acquire, manipulate, alter, and execute complex operations on database records, such as joins.
9. What is a Data Definition Language, and how does it work?
Data definition language (DDL) is a database subset that specifies the database's data structure in the initial stages of development. It's made up of the following instructions: CREATE, ALTER, and DELETE database objects, including schemas, tables, views, and sequences, among others.
Apply for SQL Jobs
10. What are the applications of SQL?
SQL is in charge of keeping the database's relational records and data models up to date.
● To submit queries against a database
● To get details out of a database
● To add information to a database
● To make changes to the records in a folder
● To exclude data from a database
● To create new databases
● Adding new tables to a database
● To populate a database of views
● To operate on the servers in a complex manner
Basic SQL Queries For Interview
1. What do you mean by a database management system? What are the various types?
A database management system (DBMS) is a software application that communicates with the individual, other programs, and the database to collect and interpret data. A database is a list of ordered records.
A database management system (DBMS) enables users to communicate with the database. The database's data can be changed, restored, and erased, and it can be of any kind, including strings, numbers, and illustrations.
There are two kinds of database management systems:
● Data is maintained in connections in a relational database management system (tables). MySQL is a good example.
● There is no definition of links, tuples, or attributes in a non-relational database management system. MongoDB as an illustration.
2. What is the difference between the SQL data types CHAR and VARCHAR2?
Both Char and Varchar2 are utilized for character data types, but Varchar2 is used for variable-length character strings, while Char is used for fixed-length character strings. For instance, Char(10) can only store ten characters and cannot store strings of any other length, while varchar2(10) can store strings of any length, e.g. 6,8,2.
3. In SQL, what is a foreign key?
By imposing a relation between the data in any two tables, a foreign key preserves referential integrity. The child table's international key refers to the parent table's primary key.
The international key restriction avoids behavior that might cause the child and parent tables to lose their links.
4. What are SQL joins?
A JOIN clause is used to join rows from two or more tables together centered on a common column. It is used to join two tables together or to extract data from one of them. There are four distinct forms of joins, as detailed below:
● Inner join:
The most often used form of join in SQL is the inner join. It is used to return all rows from multiple tables that satisfy the join condition.
● Left Join:
In SQL, a left join returns all rows from the left table but only those that satisfy the join condition in the right table.
● Right Join:
In SQL, a right join returns all rows from the right table but only those that satisfy the join condition in the left table.
● Full Join:
When there is a similarity in either of the columns, a full join recovers all of the data. As a result, it recovers both rows from both the left-hand side table and the right-hand side table.
5. How can a user distinguish between clustered and non-clustered indexes?
The following are the distinctions between clustered and non-clustered indexes in SQL:
● Clustered indexes are used to facilitate data extraction from the database and are quicker while reading from a non-clustered index is slower.
● A clustered index modifies the way records are stored in a database by sorting them by the clustered index column, while a non-clustered index does not change the way records are stored but also generates a different object inside a table that leads back to the initial table rows when searching.
● A table may have just one clustered index but may have several non-clustered indexes.
6. What do you mean when you say "query optimization"?
The process in which a strategy for evaluating a database is defined that has the lowest expected cost is referred to as query optimization.
The below are the benefits of query optimization:
● The product is delivered more quickly.
● One can execute a greater amount of queries in a shorter period.
● It reduces the uncertainty of time and space.
7. Describe the various forms of indexes available in SQL.
In SQL, there are three kinds of indexes:
A unique index:
If the column is uniquely indexed, this index prevents the sector from having repeated values. If a primary key is established, one can create a unique automated index.
A clustered Index that:
This index reorders the table's physical columns and performs queries dependent on key values. Each table can have a maximum of one clustered index.
The non-clustered index does not affect the spatial order of the table and preserves the data's conceptual order. Each table can contain a large number of nonclustered indexes.
8. What are you referring to when you say "Denormalization"?
Denormalisation is a method for accessing data from a database's higher to lower forms. It enables database administrators to boost the overall efficiency of the infrastructure by introducing redundancy into a table. It populates a table with redundant data by adding database queries that consolidate data from several tables into a single table.
Note: Have a clear understanding of SQL queries for interview.
9. What exactly is an index?
An index is a performance optimization technique that enables the quicker retrieval of records from a table. An index provides an entry for each value, making data retrieval easier. SQL indexes are a way of lowering the cost of a query since a high cost of a query would result in a drop in query results. An index is used to improve efficiency and enable quicker retrieval of records from the table. The amount of data pages we need to access to locate a certain data page is reduced thanks to indexing. Indexing, therefore, provides a one-of-a-kind significance, which ensures that one can’t duplicate the index. An index provides an entry for each value, making data retrieval easier. E.g., suppose you have a book with nation details, and you want to learn more about India, instead of going through every page of the book. In that case, you could go straight to the index, and then from the index, you could go to the specific page where all the information about India is provided.
10. What is the Difference Between Entities and Relationships?
● Entity: In the physical world, an entity, location, or thing about which data can be stored in a database. Tables are used to store data that pertains to a certain class of object. For instance, a bank database contains a customer table that stores customer data. This information is stored in the customer table as a set of attributes (columns inside the table) for each customer.
● Relationships: Relationships or connections is when two entities share something in common. For instance, a customer's name is associated with the customer's account number and contact details, stored in the same table. Additionally, associations between different tables are possible (for example, customer to accounts).
Note: Keep in mind that you will be asked various SQL interview questions with answers round.
SQL Interview Questions For Developers
1. What is a relational database management system (RDBMS)?
It's a database management framework using a relational database architecture. RDBMS is a database management system that stores data in a series of tables and links them together with relational operators when required. Using relational operators, you can modify the data in the tables more quickly. Microsoft Access, MySQL, SQLServer, Oracle client, among other relational database management systems, are examples.
2. What exactly is normalization, and what are the benefits of doing so?
The method of arranging data in SQL to prevent repetition and replication is known as normalization. The below are some of the benefits:
● Improved Database Management
● Tables with narrower rows
● Data access that is quick and easy
● Greater Queries Flexibility
● Locate the details quickly.
● Security is easier to enforce.
● Allows for simple customization
● Data duplication and redundancy are reduced.
● More compact database
● Ensure the data remains consistent since it has been modified.
3. What are the drawbacks to failure to execute Database Normalization?
The below are the big drawbacks:
● The existence of redundant terminology in a database, resulting in the waste of storage space.
● Inconsistency will arise due to redundant terms: if a modification is made in the data of one table but not in the same data of another table, inconsistency will occur, causing a maintenance issue and affecting the ACID properties.
4. Describe the various forms of normalization.
There are some levels of normalization to choose from. These are referred to as regular types. Each subsequent normal type is dependent on the one before it. In certain cases, the first three typical types are sufficient.
● No repeating classes inside rows in the First Normal Form (1NF)
● Any non-key (supporting) column value is based on the entire primary key in Second Normal Form (2NF).
● Third Normal Form (3NF) relies entirely on the main key, with no non-key (supporting) column values.
5. In a database, what is denormalization?
Denormalisation is a technique for retrieving data from a database that is in a higher or lower regular form. It often incorporates data from similar tables into a table to process redundancy. Denormalisation applies necessary redundant terms to tables to avoid complex joins and other complicated operations. Denormalisation does not imply that normalization would not occur; however, it occurs during the normalization period.
You may also read: Top Python Interview Questions
6. In a database, what is the ACID property?
Atomicity, Consistency, Isolation, and Durability (ACID) are acronyms for ACID. It is used to ensure that data transfers in a computer system are processed reliably.
● Atomicity:
Atomicity applies to accomplished or unsuccessful transactions. It is when a transaction refers to a specific logical data process. It ensures that if one component of a process fails, the whole transaction fails as well, leaving the database state unchanged.
● Consistency:
Consistency means that the data adheres to one of the validity guidelines. In basic terms, the transaction never exits the ledger until it has completed its state.
● Concurrency:
Concurrency management is the primary objective of isolation.
● Durability:
It refers to the fact that after a transaction has been committed, it can continue regardless of what happens in the interim. Example: a power outage, a fire, or some other kind of malfunction.
7. In SQL, what is a view?
A view is a graphical table that holds a subset of a table's results. There are no views at first because it takes up less room to store. Data from one or more tables may be merged in a view, depending on the relationship. In SQL Server, views are used to implement authentication mechanisms. A database view is a searchable object that can be searched with the same query as the table.
8. In SQL, what is a subquery?
A subquery is a query specified within another query to extract details or information from the database. The outer query in a subquery is referred to as the key query. At the same time, the inner query is referred to as the subquery. You have first to run subqueries, and the subquery's answer is then moved over to the main query. One can embed this within every query, like SELECT, UPDATE, and OTHER. Some reference operators, such as >, or =, may be used in a subquery.
9. What is the distinction between SQL and PL/SQL programming languages?
● SQL, or Structured Query Language, is a programming language for interacting with relational databases. It allows you to build and manipulate databases. PL/SQL, on the other hand, is a SQL dialect that is used to extend SQL's functionality. Oracle Corporation created it in the early 1990s. SQL incorporates procedural functions from programming languages.
● A single query is executed in SQL, while a whole block of code is executed in PL/SQL.
● On the first side, SQL acts as a source of data that we need to view, while PL/SQL acts as a medium for displaying SQL data.
● PL/SQL statements can be embedded in SQL, but one can’t embed SQL statements in PL/SQL since SQL does not accept any programming languages or keywords.
10. What are the differences between aggregate and scalar functions?
Aggregate functions produce a single value after evaluating a statistical equation. These equations are made using data from a table's columns. E.g., max() and count() are measured with numeric in mind.
Based on the input value, scalar functions return a single value. UCASE() and NOW(), for example, are determined with string in view.
You may also read: Top 40 Full Stack Interview Questions
SQL Database Interview Questions
1. What is the differentiation between locking, blocking, and deadlocking?
When a link requires access to a piece of data in a database, it locks it for a certain use such that no other transaction may access it.
Blocking happens when a transaction attempts to achieve an incompatible lock on an asset that another transaction has already locked. If the blocking transaction breaks the safety, the blocked transaction stays blocked.
Deadlocking happens when two or more transactions lock a resource, and each transaction demands a lock on the resource that is already locked by another transaction. Since each transaction is waiting for the other to unlock the lock, neither will go on.
2. In SQL, what is ETL?
ETL is an acronym for Extract, Transform, and Load. We will have to start by extracting data from sources, which is a three-step operation. When we combine data from various sources, we are left with raw data. One can translate this unstructured data into a more manageable format in the second process. Finally, we'd have to feed this clean data into software that would assist us in uncovering insights.
3. In SQL, what is a schema?
There are several different entities in our network, such as tables, stored procedures, features, database members, etc. A schema will be used to make sense of how many of these various bodies communicate. As a result, a schema may be thought of as the logical association between all of the database's various entities.
● This helps in a variety of respects until we have a good view of the schema:
● We may choose which users have access to which database tables.
● We may change or introduce new relationships between the database's various entities.
Overall, you might think of a schema as a database's blueprint, providing a full description of how various objects communicate with one another and which users have access to which entities.
4. In SQL, what is a unique key?
In SQL, a restriction is known as a unique key. But, before we look at what a primary key is, let's take a look at what a restriction is in SQL. Constraints are laws that are applied to data columns in a table. These are used to restrict the types of information that may be entered into a chart. Constraints may be applied at the column or table stage.
Unique Key:
When we assign a column the restriction of a unique key, we're saying that the column can't have any repeat values in it. To put it another way, any of the documents in this column must be unique.
5. In SQL, what is the difference between a clustered index and a non-clustered index?
In SQL, there are two types of indexes: clustered indexes and non clustered indexes. From the standpoint of SQL results, the discrepancies between these two indexes are critical.
● There can only be one clustered index in each table, but there can be several non-clustered indexes. (Around 250)
● A clustered index determines the physical storage of data in the table. Data is stored in a clustered index, and similar data is stored together, making data retrieval simple.
● Non-clustered indexes save only the details and direct you to the data stored in clustered data, while clustered indexes store both the data information and the data itself.
● Reading from a clustered index from the same table is much easier than reading from a non-clustered index.
● Non-clustered indexes have a layout independent from the data row and sort and store data rows in the table or view based on their main value, while clustered indexes sort and store data rows in the table on their fundamental value.
6. What are some of the benefits and drawbacks of using a stored procedure?
Benefits:
● A Stored Procedure can be used as modular programming, which implies that it can be created once, stored, and called multiple times as required. It allows for quicker implementation.
● It also decreases network demand while also improving data protection.
Drawbacks:
The biggest drawback to a Stored Procedure is that it can only be performed in the archive, which consumes additional memory on the database system.
You may also read: Top Popular JAVA Interview Questions
7. In SQL, what is a "TRIGGER"?
When an insert, change or remove order is executed against a particular table, a trigger enables you to run a batch of SQL code. A TRIGGER is a series of activities done if commands like insert, update, or delete are provided by queries.
As these commands are issued to the machine, the trigger is said to be active.
Triggers are a form of stored procedure specified to run automatically in the background or after data changes.
The CREATE TRIGGER argument is used to create triggers.
8. What are the differences between local and global variables?
● Variables at the local level:
These variables may be used outside of the function or just reside within it. Every other feature does not use or apply to these variables.
● Variables at a global level:
These are the variables that can be accessed at any time during the program. When that feature is named, you can’t create any global variables.
9. What is the difference between the operators’ BETWEEN and IN?
To represent rows centred on a set of values, use the BETWEEN operator. Numbers, documents, and dates may all be used as values. The BETWEEN operator returns the total number of values that exist within a given set.
The IN condition operator is used to look for values inside a given range of values. When there are several values to choose from, the IN operator is used.
10. What is a Data warehouse, and how does it work?
A data warehouse is a central archive of data that has been compiled from various sources of data. This data is then consolidated, converted, and rendered usable for online analysis and mining. Data Marts are a category of data used in warehouses.
You may also read: HR Interview Questions & Answers
SQL Interview Questions For Experienced Candidates
1. What is SQL injection, and how does it work?
SQL injection is a hacking tactic that black-hat hackers often use to extract data from tables or databases. For example, if you go to a website and enter the username and password, the intruder can place malicious code on the server to get the username and password straight from the database. If your database includes sensitive data, it's always a good idea to protect it from SQL injection attacks.
2. In SQL, how can you insert several rows?
We begin by entering the keywords INSERT INTO, followed by the name of the table into which the values will be inserted. We'll follow that up with a description of the columns we'll need to apply values. After that, we'll include the VALUES keyword and then the list of values.
3. In SQL, how can you copy a table?
To copy data from one table to another, we may use the SELECT INTO statement. We may either copy any of the data or only a few unique columns.
4. Do similar items such as constraints, indices, columns, norm, views, and filtered procedures get dropped when we drop a table?
Yes, SQL Server drops all associated items from a database, such as constraints, indices, columns, defaults, and so on. However, since views and sorted processes remain outside the chart, lowering the table would not exclude them.
5. Is it possible to disable a trigger? If so, how do you go about doing it?
Yes, we can disable a single database trigger with the command "DISABLE TRIGGER triggerName ON>". We may also use the command “DISABLE Trigger ALL ON ALL SERVER” to disable all triggers.
You may also read: Best Answers to Why Should We Hire You?
6. What is a Livelock, exactly?
A livelock is one in which a request for an exclusive lock is consistently rejected due to the interference of several competing for mutual locks. When read transactions build a table or page, a live lock exists.
7. Is it possible to join a table by itself?
When you choose to build a result set that connects records in a table with other records in the same table, you will connect to join them together.
8. Explanation of the Equi join.
Equi join is a category that describes whether two or more tables are connected using the equal to operator. Only the state equal to(=) between the columns in the table needs to be focused on.
9. What exactly is ISAM?
ISAM is an acronym for Indexed Sequential Access Method. IBM created it to store and extract data from tape-based secondary storage structures.
10. What is White Box Database Testing?
Database consistency and ACID properties are examples of white box testing. Logical perspectives and database cause Decision Coverage, Condition Coverage, and Statement Coverage are three types of coverage—referential consistency rules for database tables, data models, and database schemas.
11. What are the various kinds of SQL sandboxes?
There are three kinds of SQL sandboxes:
1. Safe Access Sandbox:
In this setting, a user can execute SQL operations such as generating stored procedures, triggers, and so on, but they cannot access memory or build data.
2. Sandbox for External Access:
Users can access data without requiring the ability to control memory allocation.
3. Unsafe Access Sandbox:
It is a set of untrusted codes that enable a user to access memory.
12. What is Database Black Box Testing, and how does it work?
This test entails the following steps: 1. Data Mapping 2. Retrieval and storage of data 3. Use Black Box research methods, including Equivalence Partitioning and Boundary Value Analysis (BVA).
13. Describe the Right Outer Join
When the user requires all the records from the Right table (Second table) and equivalent or matching records from the First or Left table, this is helpful. The documents that aren't paired are referred to as null records.
14. In SQL, what is a cursor?
In SQL, cursors are used to hold database tables. Cursors are divided into two categories:
● Cursor Implicit
● Cursor Explicit
Cursor Implicit:
These implied cursors are the default cursors that are generated automatically. The user cannot create an implied cursor.
Cursor Explicit:
User-defined cursors are known as explicit cursors.
15. How can I use SQL Server to construct a stored procedure?
You might be familiar with the idea of Functions if you've dealt with other languages. Stored procedures in SQL are similar to functions in other programming languages. It implies that we can save a SQL statement as a saved procedure, which you can call anytime.
We begin by entering the keywords CREATE PROCEDURE, followed by the name of the stored procedure. You use the AS keyword, followed by the SQL query used as a stored protocol. Finally, the GO keyword is used.
SQL Interview Questions With Answers
1. What purpose does a foreign key constraint serve?
The foreign key constraint is a set of laws or constraints that guarantee that the values in the child and parent tables fit. Technically, this ensures that the foreign key constraint would ensure the database's referential validity.
2. Define and demonstrate how to use an inner join.
SQL joins are used to create relationships with items in your database. As a consequence, a join produces a result collection that contains fields from two or more tables.
For instance, suppose one table contains information about the customer ID and fields relevant to the transactions a customer has created. In contrast, the other contains information about the customer ID and their private information, such as first and last names and email addresses. Thus, an inner join enables you to generate an output that contains details from both tables but only for the consumer IDs that fit in the two tables naturally, whether the consumer ID area is configured to be a matching column.
3. What are the various database management system types?
Four distinct forms of database management systems exist:
● It is a tree-like framework in which data is organized in a hierarchical format. The parent may have several children in this database, but each child should have a single parent.
● The network database is shown as a graph of many-to-many relationships. Children could have several nodes and children in this database.
● A table describes a relational database. Columns and rows contain values that are connected. Since it is so easy to use, it is the most commonly used database.
● Object-oriented database:
This database stores data values and functions as items and both of these objects are linked in various ways.
4. What is the difference between the commands DELETE and TRUNCATE?
DELETE: This query is used to delete or erase a table or set of tables from the database.
TRUNCATE: This declaration permanently deletes all data contained inside a table.
The following table summarises the differences between the DELETE and TRUNCATE commands:
● TRUNCATE is a DDL operation, while DELETE is a DML operation.
● TRUNCATE does not allow for true execution and triggers, while DELETE allows for true execution and triggers.
● TRUNCATE can fail if main international restrictions reference a table. Therefore, if we have a foreign key, we must execute the DELETE instruction.
5. What are some of the most often encountered SQL clauses for SELECT queries?
SQL contains several SELECT statement clauses. The below are some of the more often used clauses:
● FROM: The FROM clause specifies which tables and views can be used to analyze results. The tables and views specified in the question must exist at the moment when it is raised.
● WHERE: The WHERE clause specifies the criteria that would be used to narrow the results table's material. We may use sub-selects to search for fundamental relationships or relationships between a column and a sequence of columns.
● GROUP BY: This clause is sometimes used in aggregate functions to generate a single output row for each range of specific values in a collection of columns or phrases.
● ORDER BY: The ORDER BY clause enables one to specify which columns should be used to filter the table's results.
● HAVING: When an aggregate feature is used, the HAVING clause filters the GROUP BY clause's results.
6. What are the different kinds of SQL views?
Views are divided into four categories of SQL. They have the following:
● Simplistic view:
A simplistic view is built on a single table and does not have a GROUP BY clause or any other functions.
● Complex view:
A complex view is constructed from several tables and contains a GROUP BY clause in addition to functions.
● Inline view: A view constructed from a subquery in the FROM clause; it acts as a temporary table and simplifies a complex query.
● Materialized view: A materialized view saves both the meaning and the data. It creates data replicas by storing them physically.
7. What is the concept of a stored procedure? Explain.
A stored process is a fragment of SQL code that has been planned that can be preserved and reused. In other words, a stored process is a function that consists of several SQL statements used to access the database system. We may combine several SQL statements into a stored method and execute it whenever and wherever it is required.
A stored procedure can be used to implement modular programming, such that it can be created once, stored, and called numerous times as required. Additionally, this enables quicker execution as opposed to running several queries.
8. Distinguish between OLTP and OLAP.
OLTP: This acronym stands for Online Transaction Processing, and it refers to a class of software applications that effectively facilitate transaction-based programs. One of the most critical characteristics of an OLTP framework is the ability to maintain consistency. The OLTP method often uses decentralized preparation to avoid single points of failure. This system is typically intended for a vast number of end-users to conduct brief transactions. Additionally, queries in such databases are generally basic, provide a quick response time, and return a small number of records compared to other databases. As a result, the amount of transactions per second serves as a useful metric for such programs.
OLAP: OLAP is an acronym for Online Analytical Processing. It refers to a class of software systems characterized by a relatively low volume of online transactions. The reliability of OLAP systems is strongly dependent on response time. As a result, such frameworks are often used for data mining and the maintenance of aggregated historical data, and they are often integrated into multi-dimensional schemas.
9. What is the ideal way to use a cursor?
A database cursor is a control that lets one move along the rows of a database. It can be thought of as a reference to a specific row within the collection of rows. Cursors come in handy when doing database operations like extraction, addition, and removal. Here's how we should bring it to use:
● DECLARE a cursor after every variable declaration. The cursor declaration must always be consistent with the SELECT argument.
● Until fetching rows from the result array, OPEN statements must be called to initialize the result collection.
● Use the FETCH statement to catch and move to the next row in the result range.
● Use the CLOSE term to deactivate the cursor.
● Finally, use the DEALLOCATE clause to remove the cursor definition and clear all related properties.
10. What does the Intersect operator do?
The Intersect operator joins two select statements together, returning only documents that are common to each of them. So, if we have Table A and Table B over here and then use the Intersect operator on these two tables, we'll just get documents that are common to the select statements of these two tables.
SQL Questions Asked in Interview
Commonly SQL questions asked in an interview are given below.
1. What is the aim of the lock escalation?
As SQL Server performs a transaction, the lock manager can lock database items to maintain database integrity. On the other hand, the lock manager uses 96 bytes of memory for each locked entity it manages. When dealing with many rows, this situation will necessitate a large amount of memory to lock the rows. SQL Server employs a method known as lock escalation to reduce memory usage. As row or page locks reach a certain threshold, the lock escalation function transforms row or page locks to table locks, reducing memory consumption.
2. What is the best way to convert between Unix and MySQL timestamps?
UNIX TIMESTAMP’s command translates MySQL timestamps to Unix timestamps, and the command FROM UNIXTIME converts Unix timestamps to MySQL timestamps.
3. What kinds of Collation Sensitivity are there?
● Case sensitivity: A and an are treated differently due to case sensitivity.
● Accent sensitivity: the letters a and á are given different treatment.
● Kana sensitivity: Hiragana and Katakana, two Japanese kana characters, are treated differently.
● Width sensitivity: A single-byte (half-width) and a double-byte (full-width) representation of the same character are treated differently.
4. What is the meaning of a NULL value?
A field with a NULL value is the same as one that has no value. A NULL value is not the same as a zero value or an area of spaces. A NULL value indicates that a field was left unused during record creation. Assume that a table field is optional. And if you insert a record without a value for the optional field, the field will be saved with a NULL value.
5. What SQL are operators available?
SQL Operator is a reserved term used in the WHERE clause of a SQL declaration to execute operations like arithmetic and comparisons. In a SQL statement, these are used to define requirements.
Operators are divided into three categories:
● Arithmetic Operators
● Comparison Operators
● Logical Operators
6. Define the statement SELECT INTO.
The SELECT INTO statement is used to copy data from one table to another. The old table's column names and forms would be carried over to the current table. The AS clause may be used to construct new column titles.
7. What is the difference between a Where clause and a Having clause?
The Where clause is used to retrieve data from a database that meets specific criteria. In contrast, the Having clause is used in conjunction with the ‘GROUP BY' feature to retrieve data that meets specific criteria defined by the Aggregate functions. If the Where clause isn't compatible with Aggregate features, the Having clause works.
8. In SQL, what are aggregate functions?
SQL aggregate functions evaluate a single value from the values in a column and return it. The below are some of SQL's aggregate functions:
● AVG()- This function returns the average value.
● COUNT()- Returns the number of rows in a table.
● MAX()- This function returns the highest value.
● MIN()- The smallest value is returned by the MIN() algorithm.
● ROUND()- This method rounds a number to the required number of decimals.
● SUM()- This method returns the sum of two numbers.
9. In SQL, what are string functions?
String manipulation is the primary use of SQL string functions. The following are some of the most commonly used SQL string functions:
● LEN()- This function returns the length of a text field's length.
● LOWER()- This function lowers the case of character data.
● UPPER()- This function transforms data to upper case.
● SUBSTRING()- It extracts characters from a text sector using SUBSTRING().
● LTRIM()- This is a function that removes all whitespace from the start of a string.
● RTRIM()- This is a function that removes all whitespace from the end of a string.
● CONCAT()- The concatenate method joins together several character strings.
● REPLACE()- Replaces a string's text.
10. What is the concept of collation?
The expression "collation" refers to a collection of regulations that specify how character data is sorted and compared. Character data is filtered using regulations that determine case sensitivity, character width, accent marks, and kana character types, as well as choices for determining case sensitivity, character width, accent marks, and kana character types.
11. What is the distinction between the NVL, IFNULL, and ISNULL functions?
All three functions are identical in their activity. These functions are used to substitute a value for a NULL value. Oracle developers use NVL, MySQL developers use IFNULL, and SQL Server developers use ISNULL.
12. What is the distinction between GUI and Database Testing?
● User interface research, also known as front-end testing, is a form of GUI testing. Back-end research, also known as data testing, is a form of database testing.
● GUI Testing is concerned about all testable items available for user engagement, such as menus, forms, and so on. Database testing encompasses all testable items that are typically shielded from the individual.
● The GUI tester does not need to be familiar with Structured Query Language. Database Testing necessitates the knowledge of Structured Query Language.
SQL Interview Questions on Indexes
1. What's the difference between a clustered table and a heap table? What is the best way to tell whether the table is a heap table?
A heap table is when the data rows inside each data page are not contained in any specific order. Furthermore, since the data page series is not linked in a linked list, there is no specific order to manage it. This is attributed to the lack of a clustered index in the heap table.
A clustered table has a predefined clustered index on one or more columns that determines the storage order of rows within data pages and the order of pages within the table depending on the clustered index key.
By querying the sys.partitions system object, which has one row for each partition with index id equal to 0, the heap table can be identified. You may also use the sys.indexes system object to get information about the heap table indexes. For example, the id of that index is 0, and its type is HEAP.
2. What exactly is the "Forwarding Pointers issue," and how can it be resolved?
Forwarding Pointers are introduced into the heap as data modification operations are done on heap table data sections, pointing to the new position of the transferred data. Due to accessing the old/original position vs the current location defined by the forwarding pointers to get a certain value, these forwarding pointers will trigger performance errors across time.
With SQL Server 2008, they introduced a new approach for dealing with the forwarding pointers performance problem: the ALTER TABLE REBUILD order, which rebuilds the heap table.
3. Describe the configuration of a SQL Server Index that allows you to navigate the table's data more quickly.
A SQL Server index is built in the form of a B-Tree layout. It consists of 8K pages, each of which is referred to as an index node. The B-Tree layout gives the SQL Server Engine a quick way to pass between table rows based on an index key that determines whether to traverse left or right, allowing it to extract the requested values without searching any of the underlying table rows. You can imagine the possible performance impact that scanning a huge database table might cause.
The index's B-Tree structure is divided into three levels:
● SQL Server starts its data quest from the Root Level, which is the top node that includes a single index page.
● The Leaf level is the lowest level of nodes in the tree that holds the data pages we're searching for, with the number of leaf pages being determined by the amount of data in the index.
● Finally, there is the Intermediate Level, which is one or more steps between the root and the leaf levels and contains the main index values and references to the next intermediate level or leaf data pages. The index’s data storage capacity determines the number of intermediate levels.
Conclusion
SQL has a broad range of capabilities, including creating and manipulating a wide range of database objects. SQL's success has evolved to the point that nearly every programmer uses it to incorporate storage functionality in their application, making it an exciting language to learn. Employers are looking for people with SQL expertise in high demand. As a result, you must equip yourself with the SQL Interview questions mentioned above to land your dream job!
Author Bio:
Bhavesh Baruwala, Manager - Platform Delivery, SCIKEY
Bhavesh is the manager of platform delivery with almost 10 years of experience in web technology. He loves coding, designing, and problem-solving. Bhavesh is an experienced Team Lead with a demonstrated history of working in the outsourcing/offshoring industry. He Skilled in PHP, CakePHP, smarty, WordPress, CodeIgniter, HTML, AJAX and jQuery.
He is a strong engineering professional with an M.Sc.IT from J.P.Dawer Institute Of MScIT.