SQL Questions III Flashcards

1
Q

What is the difference between CHAR and VARCHAR2 datatype in SQL?

A

Both of these data types are used for characters, but varchar2 is used for character strings of variable length, whereas char is used for character strings of fixed length. For example, if we specify the type as char(5) then we will not be allowed to store a string of any other length in this variable, but if we specify the type of this variable as varchar2(5) then we will be allowed to store strings of variable length. We can store a string of length 3 or 4 or 2 in this variable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What do you mean by data definition language?

A

Data definition language or DDL allows to execution of queries like CREATE, DROP, and ALTER. That is those queries that define the data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What do you mean by data manipulation language?

A

Data manipulation Language or DML is used to access or manipulate data in the database. It allows us to perform the below-listed functions:

Insert data or rows in a database
Delete data from the database
Retrieve or fetch data
Update data in a database.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the view in SQL?

A

Views in SQL are a kind of virtual table. A view also has rows and columns as they are on a real table in the database. We can create a view by selecting fields from one or more tables present in the database. A View can either have all the rows of a table or specific rows based on certain conditions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The CREATE VIEW statement of SQL is used for creating views.

A

CREATE VIEW view_name AS
SELECT column1, column2…..
FROM table_name
WHERE condition;

view_name: Name for the View
table_name: Name of the table
condition: Condition to select rows

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What do you mean by foreign key?

A

A Foreign key is a field that can uniquely identify each row in another table. And this constraint is used to specify a field as a Foreign key. That is this field points to the primary key of another table. This usually creates a kind of link between the two tables.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are table and Field?

A

Table: A table has a combination of rows and columns. Rows are called records and columns are called fields. In MS SQL Server, the tables are being designated within the database and schema names.

Field: In DBMS, a database field can be defined as – a single piece of information from a record.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the primary key?

A

A Primary Key is one of the candidate keys. One of the candidate keys is selected as the most important and becomes the primary key. There cannot be more than one primary key in a table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a Default constraint?

A

The DEFAULT constraint is used to fill a column with default and fixed values. The value will be added to all new records when no other value is provided.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is normalization?

A

It is a process of analyzing the given relation schemas based on their functional dependencies and primary keys to achieve the following desirable properties:

Minimizing Redundancy

Minimizing the Insertion, Deletion, And Update Anomalies

Relation schemas that do not meet the properties are decomposed into smaller relation schemas that could meet desirable properties.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Denormalization?

A

Denormalization is a database optimization technique in which we add redundant data to one or more tables.

This can help us avoid costly joins in a relational database. Note that denormalization does not mean not doing normalization.

It is an optimization technique that is applied after normalization.

In a traditional normalized database, we store data in separate logical tables and attempt to minimize redundant data. We may strive to have only one copy of each piece of data in the database.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a query?

A

An SQL query is used to retrieve the required data from the database. However, there may be multiple SQL queries that yield the same results but with different levels of efficiency. An inefficient query can drain the database resources, reduce the database speed or result in a loss of service for other users. So it is very important to optimize the query to obtain the best database performance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a subquery?

A

In SQL, a Subquery can be simply defined as a query within another query. In other words, we can say that a Subquery is a query that is embedded in the WHERE clause of another SQL query.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What are the different operators available in SQL

A

There are three operators available in SQL namely:

Arithmetic Operators
Logical Operators
Comparison Operators

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is a Constraint?

A

Constraints are the rules that we can apply to the type of data in a table. That is, we can specify the limit on the type of data that can be stored in a particular column in a table using constraints. For more details please refer to SQL|Constraints article.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is Data Integrity?

A

Data integrity is defined as the data contained in the database being both correct and consistent. For this purpose, the data stored in the database must satisfy certain types of procedures (rules). The data in a database must be correct and consistent. So, data stored in the database must satisfy certain types of procedures (rules). DBMS provides different ways to implement such types of constraints (rules). This improves data integrity in a database. For more details please refer difference between data security and data integrity article.

17
Q

What is Auto Increment?

A

Sometimes, while creating a table, we do not have a unique identifier within the table, hence we face difficulty in choosing Primary Key. So as to resolve such an issue, we’ve to manually provide unique keys to every record, but this is often also a tedious task. So we can use the Auto-Increment feature that automatically generates a numerical Primary key value for every new record inserted. The Auto Increment feature is supported by all the Databases.

18
Q

What is MySQL collation?

A

A MySQL collation is a well-defined set of rules which are used to compare characters of a particular character set by using their corresponding encoding.

Each character set in MySQL might have more than one collation, and has, at least, one default collation. Two character sets cannot have the same collation

19
Q

What are user-defined functions?

A

We can use User-defined functions in PL/SQL or Java to provide functionality that is not available in SQL or SQL built-in functions. SQL functions and User-defined functions can appear anywhere, that is, wherever an expression occurs.

For example, it can be used in:

Select a list of SELECT statements.
Condition of the WHERE clause.
CONNECT BY, ORDER BY, START WITH, and GROUP BY
The VALUES clause of the INSERT statement.
The SET clause of the UPDATE statement.

20
Q

What are all types of user-defined functions?

A

User-Defined Functions allow people to define their own T-SQL functions that can accept 0 or more parameters and return a single scalar data value or a table data type.
Different Kinds of User-Defined Functions created are:

  1. Scalar User-Defined Function A Scalar user-defined function returns one of the scalar data types. Text, image, and timestamp data types are not supported. These are the type of user-defined functions that most developers are used to in other programming languages. You pass in 0 to many parameters and you get a return value.
  2. Inline Table-Value User-Defined Function An Inline Table-Value user-defined function returns a table data type and is an exceptional alternative to a view as the user-defined function can pass parameters into a T-SQL select command and, in essence, provide us with a parameterized, non-updateable view of the underlying tables.
  3. Multi-statement Table-Value User-Defined Function A Multi-Statement Table-Value user-defined function returns a table and is also an exceptional alternative to a view, as the function can support multiple T-SQL statements to build the final result where the view is limited to a single SELECT statement. Also, the ability to pass parameters into a TSQL select command or a group of them gives us the capability to, in essence, create a parameterized, non-updateable view of the data in the underlying tables. Within the create function command you must define the table structure that is being returned. After creating this type of user-defined function, it can be used in the FROM clause of a T-SQL command, unlike the behavior found when using a stored procedure which can also return record sets.
21
Q

What is a stored procedure?

A

Stored Procedures are created to perform one or more DML operations on databases. It is nothing but a group of SQL statements that accepts some input in the form of parameters and performs some task and may or may not return a value. For more details please refer to our Stored procedures in the SQL article.

22
Q

What are aggregate and scalar functions?

A

For doing operations on data SQL has many built-in functions, they are categorized into two categories and further sub-categorized into seven different functions under each category. The categories are:

Aggregate functions: These functions are used to do operations from the values of the column and a single value is returned.
Scalar functions: These functions are based on user input, these too return a single value.

23
Q

What is an ALIAS command?

A

Aliases are the temporary names given to a table or column for the purpose of a particular SQL query. It is used when the name of a column or table is used other than its original name, but the modified name is only temporary.

Aliases are created to make table or column names more readable.
The renaming is just a temporary change and the table name does not change in the original database.

Aliases are useful when table or column names are big or not very readable.

These are preferred when there is more than one table involved in a query.

24
Q

What are Union, minus, and Interact commands?

A

Set Operations in SQL eliminate duplicate tuples and can be applied only to the relations which are union compatible. Set Operations available in SQL are :

Set Union
Set Intersection
Set Difference

UNION Operation: This operation includes all the tuples which are present in either of the relations. For example: To find all the customers who have a loan or an account or both in a bank.

The union operation automatically eliminates duplicates. If all the duplicates are supposed to be retained, UNION ALL is used in place of UNION.

INTERSECT Operation: This operation includes the tuples which are present in both of the relations. For example: To find the customers who have a loan as well as an account in the bank:

The Intersect operation automatically eliminates duplicates. If all the duplicates are supposed to be retained, INTERSECT ALL is used in place of INTERSECT.

EXCEPT for Operation: This operation includes tuples that are present in one relationship but should not be present in another relationship. For example: To find customers who have an account but no loan at the bank:

The Except operation automatically eliminates the duplicates. If all the duplicates are supposed to be retained, EXCEPT ALL is used in place of EXCEPT

25
Q

What is a T-SQL?

A

T-SQL is an abbreviation for Transact Structure Query Language. It is a product by Microsoft and is an extension of SQL Language which is used to interact with relational databases. It is considered to perform best with Microsoft SQL servers. T-SQL statements are used to perform the transactions to the databases. T-SQL has huge importance since all the communications with an instance of an SQL server are done by sending Transact-SQL statements to the server. Users can also define functions using T-SQL.

Types of T-SQL functions are :

Aggregate functions.
Ranking functions. There are different types of ranking functions.
Rowset function.
Scalar functions.

26
Q

What is ETL in SQL?

A

ETL is a process in Data Warehousing and it stands for Extract, Transform, and Load.

It is a process in which an ETL tool extracts the data from various data source systems, transforms it in the staging area, and then finally, loads it into the Data Warehouse system. These are three database functions that are incorporated into one tool to pull data out from one database and put data into another database.

27
Q

How to copy tables in SQL?

A

Sometimes, in SQL, we need to create an exact copy of an already defined (or created) table. MySQL enables you to perform this operation. Because we may need such duplicate tables for testing the data without having any impact on the original table and the data stored in it.

CREATE TABLE Contact List(Clone_1) LIKE Original_table;

28
Q

What is SQL injection?

A

SQL injection is a technique used to exploit user data through web page inputs by injecting SQL commands as statements. Basically, these statements can be used to manipulate the application’s web server by malicious users.

SQL injection is a code injection technique that might destroy your database.
SQL injection is one of the most common web hacking techniques.
SQL injection is the placement of malicious code in SQL statements, via web page input.

29
Q

Can we disable a trigger? If yes, how?

A

Yes, we can disable a trigger in PL/SQL. If consider temporarily disabling a trigger and one of the following conditions is true:

An object that the trigger references is not available.
We must perform a large data load and want it to proceed quickly without firing triggers.
We are loading data into the table to which the trigger applies.
We disable a trigger using the ALTER TRIGGER statement with the DISABLE option.
We can disable all triggers associated with a table at the same time using the ALTER TABLE statement with the DISABLE ALL TRIGGERS option.

30
Q

What is the difference between BETWEEN and IN operators in SQL?

A

BETWEEN: The BETWEEN operator is used to fetch rows based on a range of values.

IN: The IN operator is used to check for values contained in specific sets.

31
Q

What is the difference between primary key and unique constraints?

A

The primary key cannot have NULL values, the unique constraints can have NULL values.

**There is only one primary key in a table, but there can be multiple unique constraints. **

The primary key creates the clustered index automatically but the unique key does not.

32
Q

What is a join in SQL? What are the types of joins?

A

An SQL Join statement is used to combine data or rows from two or more tables based on a common field between them. Different types of Joins are:

INNER JOIN: The INNER JOIN keyword selects all rows from both tables as long as the condition is satisfied. This keyword will create the result set by combining all rows from both the tables where the condition satisfies i.e. the value of the common field will be the same.

LEFT JOIN: This join returns all the rows of the table on the left side of the join and matching rows for the table on the right side of the join. For the rows for which there is no matching row on the right side, the result set will be null. LEFT JOIN is also known as LEFT OUTER JOIN

RIGHT JOIN: RIGHT JOIN is similar to LEFT JOIN. This join returns all the rows of the table on the right side of the join and matching rows for the table on the left side of the join. For the rows for which there is no matching row on the left side, the result set will contain null.

RIGHT JOIN is also known as RIGHT OUTER JOIN.
FULL JOIN: FULL JOIN creates the result set by combining the results of both LEFT JOIN and RIGHT JOIN. The result set will contain all the rows from both tables. For the rows for which there is no matching, the result set will contain NULL values.

33
Q

What is an index?

A

A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and the use of more storage space to maintain the extra copy of data.

Data can be stored only in one order on a disk. To support faster access according to different values, a faster search like a binary search for different values is desired. For this purpose, indexes are created on tables. These indexes need extra space on the disk, but they allow faster search according to different frequently searched values

34
Q

What is the On Delete cascade constraint?

A

An ‘ON DELETE CASCADE’ constraint is used in MySQL to delete the rows from the child table automatically when the rows from the parent table are deleted. For more details, please read MySQL – On Delete Cascade constraint article.

35
Q

Explain WITH clause in SQL?

A

The WITH clause provides a way relationship of defining a temporary relationship whose definition is available only to the query in which the with clause occurs. SQL applies predicates in the WITH clause after groups have been formed, so aggregate functions may be used.

36
Q

What are all the different attributes of indexes?

A

The indexing has various attributes:

Access Types: This refers to the type of access such as value-based search, range access, etc.
Access Time: It refers to the time needed to find a particular data element or set of elements.
Insertion Time: It refers to the time taken to find the appropriate space and insert new data.
Deletion Time: Time is taken to find an item and delete it as well as update the index structure.
Space Overhead: It refers to the additional space required by the index.

37
Q

What is a Cursor?

A

The cursor is a Temporary Memory or Temporary Work Station.

It is Allocated by Database Server at the Time of Performing DML operations on the Table by the User.

Cursors are used to store Database Tables.