SQL Interview Questions Part-1
1.What are the most important DDL statements in SQL?
CREATE TABLE – creates a new database table
ALTER TABLE – alters (changes) a database table
DROP TABLE – deletes a database table
CREATE INDEX – creates an index (search key)
DROP INDEX – deletes an index
2.What Operators used in SELECT statements?
<> or != Not equal
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
BETWEEN Between an inclusive range
LIKE Search for a pattern
3. Can you tell me the Format of SELECT statements?
SELECT column_name(s) FROM table_name
SELECT DISTINCT column_name(s) FROM table_name
SELECT column FROM table WHERE column operator value
SELECT column FROM table WHERE column LIKE pattern
SELECT column,SUM(column) FROM table GROUP BY column
SELECT column,SUM(column) FROM table GROUP BY column HAVING SUM(column) condition value
Note that single quotes around text values and numeric values should not be enclosed in quotes. Double
quotes may be acceptable in some databases.
4.The SELECT INTO Statement is most often used to create backup copies of tables or for archiving records.
SELECT column_name(s) INTO newtable [IN externaldatabase] FROM source
SELECT column_name(s) INTO newtable [IN externaldatabase] FROM source WHERE column_name operator value
5.The INSERT INTO Statements:
INSERT INTO table_name VALUES (value1, value2,….)
INSERT INTO table_name (column1, column2,…) VALUES (value1, value2,….)
6.The Update Statement:
UPDATE table_name SET column_name = new_value WHERE column_name = some_value
7.The Delete Statements:
DELETE FROM table_name WHERE column_name = some_value
Delete All Rows:
DELETE FROM table_name or DELETE * FROM table_name
8.Sort the Rows:
SELECT column1, column2, … FROM table_name ORDER BY columnX, columnY, ..
SELECT column1, column2, … FROM table_name ORDER BY columnX DESC
SELECT column1, column2, … FROM table_name ORDER BY columnX DESC, columnY ASC
9.The IN operator may be used if you know the exact value you want to return for at least one of the columns.
SELECT column_name FROM table_name WHERE column_name IN (value1,value2,..)
10.BETWEEN … AND
SELECT column_name FROM table_name WHERE column_name BETWEEN value1 AND value2 The values can be numbers, text, or dates.
11.What is the use of CASCADE CONSTRAINTS?
When this clause is used with the DROP command, a parent table can be dropped even when a child table exists.
12.Why does the following command give a compilation error?
DROP TABLE &TABLE NAME; Variable names should start with an alphabet. Here the table name starts with an ‘&’ symbol.
13.Which system tables contain information on privileges granted and privileges obtained?
14.Which system table contains information on constraints on all the tables created?obtained?
15.What is the difference between TRUNCATE, DELETE and DROP commands?
The DELETE command is used to remove rows from a table. A WHERE clause can be used to only remove some rows. If no WHERE condition is specified, all rows will be removed. After performing a DELETE operation you need to COMMIT or ROLLBACK the transaction to make the change permanent or to undo it. Note that this operation will cause all DELETE triggers on the table to fire.
TRUNCATE removes all rows from a table. The operation cannot be rolled back and no triggers will be fired. As such, TRUCATE is faster and doesn’t use as much undo space as a DELETE.
The DROP command removes a table from the database. All the tables’ rows, indexes and privileges will also be removed. No DML triggers will be fired. The operation cannot be rolled back.
16.State true or false. !=, <>, ^= all denote the same operation?
17. State true or false. EXISTS, SOME, ANY are operators in SQL?
18. What does the following query do?
SELECT SAL + NVL(COMM,0) FROM EMP;?
This displays the total salary of all employees. The null values in the commission column will be replaced by 0 and added to salary.
19. What is the advantage of specifying WITH GRANT OPTION in the GRANT command?
The privilege receiver can further grant the privileges he/she has obtained from the owner to any other user.
20. Which command executes the contents of a specified file?
START or @.
21. What is the value of comm and sal after executing the following query if the initial value of ‘sal’ is 10000
UPDATE EMP SET SAL = SAL + 1000, COMM = SAL*0.1;
sal = 11000, comm = 1000.
22. Which command displays the SQL command in the SQL buffer, and then executes it?
23. What command is used to get back the privileges offered by the GRANT command?
24. What will be the output of the following query? SELECT DECODE(TRANSLATE(‘A’,’1234567890′,’1111111111′), ‘1’,’YES’, ‘NO’ );? NO.
Explanation : The query checks whether a given string is a numerical digit.
25. Which date function is used to find the difference between two dates?
26. What operator performs pattern matching?
27. What is the use of the DROP option in the ALTER TABLE command?
It is used to drop constraints specified on the table.
28. What operator tests column for the absence of data?
IS NULL operator.
29. What are the privileges that can be granted on a table by a user to others?
Insert, update, delete, select, references, index, execute, alter, all.
30. Which function is used to find the largest integer less than or equal to a specific value?
31. Which is the subset of SQL commands used to manipulate Oracle Database structures, including tables?
Data Definition Language (DDL).
32. What is the use of DESC in SQL?
DESC has two purposes. It is used to describe a schema as well as to retrieve rows from table in descending order.
Explanation : The query SELECT * FROM EMP ORDER BY ENAME DESC will display the output sorted on ENAME in descending order.
33. What command is used to create a table by copying the structure of another table?
CREATE TABLE .. AS SELECT command
Explanation: To copy only the structure, the WHERE clause of the SELECT command should contain a FALSE statement as in the following.
CREATE TABLE NEWTABLE AS SELECT * FROM EXISTINGTABLE WHERE 1=2;
If the WHERE condition is true, then all the rows or rows satisfying the condition will be copied to the new table.
34. TRUNCATE TABLE EMP;DELETE FROM EMP;
Will the outputs of the above two commands differ?
Both will result in deleting all the rows in the table EMP..
35. What is the output of the following query SELECT TRUNC(1234.5678,-2) FROM DUAL;?
36. What are the wildcards used for pattern matching.?
_ for single character substitution and % for multi-character substitution.
37. What is the parameter substitution symbol used with INSERT INTO command?
38. What’s an SQL injection?
SQL Injection is when form data contains an SQL escape sequence and injects a new SQL query to be run.
39.What is a join? Explain the different types of joins?
Join is a query, which retrieves related columns or rows from multiple tables.
Self Join – Joining the table with itself.
Equi Join – Joining two tables by equating two common columns.
Non-Equi Join – Joining two tables by equating two common columns.
Outer Join – Joining two tables in such a way that query can also retrieve rows that do not have corresponding join value in the other table.
40. What is the sub-query?
Sub-query is a query whose return values are used in filtering conditions of the main query.
41. What is correlated sub-query?
Correlated sub-query is a sub-query, which has reference to the main query.
42. Explain CONNECT BY PRIOR?
Retrieves rows in hierarchical order eg.
select empno, ename from emp where.
43. Difference between SUBSTR and INSTR?
INSTR (String1, String2 (n, (m)),
INSTR returns the position of the m-th occurrence of the string 2 in string1. The search begins from nth position of string1.
SUBSTR (String1 n, m)
SUBSTR returns a character string of size m in string1, starting from n-th position of string1.
44. Explain UNION, MINUS, UNION ALL and INTERSECT?
INTERSECT – returns all distinct rows selected by both queries.
MINUS – returns all distinct rows selected by the first query but not by the second.
UNION – returns all distinct rows selected by either query
UNION ALL – returns all rows selected by either query, including all duplicates.
45. What is ROWID?
ROWID is a pseudo column attached to each row of a table. It is 18 characters long, blockno, rownumber are the components of ROWID.
46. What is the fastest way of accessing a row in a table?
47. What is an integrity constraint?
Integrity constraint is a rule that restricts values to a column in a table.
48. What is referential integrity constraint?
Maintaining data integrity through a set of rules that restrict the values of one or more columns of the tables based on the values of primary key or unique key of the referenced
49. What is the difference between DDL and DML?
DML command can be roll back but DDL can not.
50. How does one add a day/hour/minute/second to a date value?
The SYSDATE pseudo-column shows the current system date and time. Adding 1 to SYSDATE will advance the date by 1 day. Use fractions to add hours, minutes or seconds to the date.
eg: select sysdate NOW, sysdate+30/(24*60*60) NOW_PLUS_30_SECS from ABC