RDBMS Interview Questions and answers – Part2
11 What are DML and DDL statements?
DML stands for Data Manipulation Statements. They update data values in table. Below are the most important DDL statements:-
=>SELECT – gets data from a database table
=> UPDATE – updates data in a table
=> DELETE – deletes data from a database table
=> INSERT INTO – inserts new data into a database table
DDL stands for Data definition Language. They change structure of the database objects like table, index etc. Most important DDL statements are as shown below:-
=>CREATE TABLE – creates a new table in the database.
=>ALTER TABLE – changes table structure in database.
=>DROP TABLE – deletes a table from database
=> CREATE INDEX – creates an index
=> DROP INDEX – deletes an index
12 How do we select distinct values from a table?
DISTINCT keyword is used to return only distinct values. Below is syntax:- Column age and Table pcdsEmp
SELECT DISTINCT age FROM pcdsEmp
13 What is Like operator for and what are wild cards?
LIKE operator is used to match patterns. A “%” sign is used to define the pattern.
Below SQL statement will return all words with letter “S”
SELECT * FROM pcdsEmployee WHERE EmpName LIKE ‘S%’
Below SQL statement will return all words which end with letter “S”
SELECT * FROM pcdsEmployee WHERE EmpName LIKE ‘%S’
Below SQL statement will return all words having letter “S” in between
SELECT * FROM pcdsEmployee WHERE EmpName LIKE ‘%S%’
“_” operator (we can read as “Underscore Operator”). “_” operator is the character defined at that point. In the below sample fired a query Select name from pcdsEmployee where name like ‘_s%’ So all name where second letter is “s” is returned.
14 Can you explain Insert, Update and Delete query?
Insert statement is used to insert new rows in to table. Update to update existing data in the table. Delete statement to delete a record from the table. Below code snippet for Insert, Update and Delete :-
INSERT INTO pcdsEmployee SET name=’rohit’,age=’24’;
UPDATE pcdsEmployee SET age=’25’ where name=’rohit’;
DELETE FROM pcdsEmployee WHERE name = ‘sonia’;
15 What is order by clause?
ORDER BY clause helps to sort the data in either ascending order to descending order.
Ascending order sort query
SELECT name,age FROM pcdsEmployee ORDER BY age ASC
Descending order sort query
SELECT name FROM pcdsEmployee ORDER BY age DESC
16 What is the SQL ” IN ” clause?
SQL IN operator is used to see if the value exists in a group of values. For instance the below SQL checks if the Name is either ‘rohit’ or ‘Anuradha’ SELECT * FROM pcdsEmployee WHERE name IN (‘Rohit’,’Anuradha’) Also you can specify a not clause with the same. SELECT * FROM pcdsEmployee WHERE age NOT IN (17,16)
17 Can you explain the between clause?
Below SQL selects employees born between ’01/01/1975′ AND ’01/01/1978′ as per mysql
SELECT * FROM pcdsEmployee WHERE DOB BETWEEN ‘1975-01-01’ AND ‘2011-09-28’
18 we have an employee salary table how do we find the second highest from it?
Below Sql Query find the second highest salary
SELECT * FROM pcdsEmployeeSalary a WHERE (2=(SELECT COUNT(DISTINCT(b.salary)) FROM pcdsEmployeeSalary b WHERE b.salary>=a.salary))
19 What are different types of joins in SQL?
Inner join shows matches only when they exist in both tables. Example in the below SQL there are two tables Customers and Orders and the inner join in made on Customers.Customerid and Orders.Customerid. So this SQL will only give you result with customers who have orders. If the customer does not have order it will not display that record.
SELECT Customers.*, Orders.* FROM Customers INNER JOIN Orders ON Customers.CustomerID =Orders.CustomerID
LEFT OUTER JOIN
Left join will display all records in left table of the SQL statement. In SQL below customers with or without orders will be displayed. Order data for customers without orders appears as NULL values. For example, you want to determine the amount ordered by each customer and you need to see who has not ordered anything as well. You can also see the LEFT OUTER JOIN as a mirror image of the RIGHT OUTER JOIN (Is covered in the next section) if you switch the side of each table.
SELECT Customers.*, Orders.* FROM Customers LEFT OUTER JOIN Orders ON Customers.CustomerID =Orders.CustomerID
RIGHT OUTER JOIN
Right join will display all records in right table of the SQL statement. In SQL below all orders with or without matching customer records will be displayed. Customer data for orders without customers appears as NULL values. For example, you want to determine if there are any orders in the data with undefined CustomerID values (say, after a conversion or something like it). You can also see the RIGHT OUTER JOIN as a mirror image of the LEFT OUTER JOIN if you switch the side of each table.
SELECT Customers.*, Orders.* FROM Customers RIGHT OUTER JOIN Orders ON Customers.CustomerID =Orders.CustomerID
20 What is “CROSS JOIN”? or What is Cartesian product?
“CROSS JOIN” or “CARTESIAN PRODUCT” combines all rows from both tables. Number of rows will be product of the number of rows in each table. In real life scenario I can not imagine where we will want to use a Cartesian product. But there are scenarios where we would like permutation and combination probably Cartesian would be the easiest way to achieve it.