SQL Interview Questions and Answers
1. Which is
the subset of SQL commands used to manipulate Oracle Database structures,
including tables?
Data Definition Language (DDL)
2. What operator performs pattern
matching?
LIKE
operator
3. What operator tests column for
the absence of data?
IS NULL operator
4. Which command executes the
contents of a specified file?
START <filename> or @<filename>
5. What is the parameter
substitution symbol used with INSERT INTO command?
&
6. Which command displays the SQL
command in the SQL buffer, and then executes it?
RUN
7. What are the wildcards used for
pattern matching?
_
for single character substitution and % for multi-character substitution
8. State true or false. EXISTS,
SOME, ANY are operators in SQL.
True
9. State true or false. !=,
<>, ^= all denote the same operation.
True
10. 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
11. What command is used to get back
the privileges offered by the GRANT command?
REVOKE
12. Which system tables contain
information on privileges granted and privileges obtained?
USER_TAB_PRIVS_MADE, USER_TAB_PRIVS_RECD
13. Which system table contains
information on constraints on all the tables created?
USER_CONSTRAINTS
14. 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.
15. What is the difference between
TRUNCATE and DELETE commands?
TRUNCATE is a DDL command whereas DELETE is a
DML command. Hence DELETE operation can be rolled back, but TRUNCATE operation
cannot be rolled back. WHERE clause can be used with DELETE and not with
TRUNCATE.
16. What command is used to create a
table by copying the structure of another table?
Answer:
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.
17. What will be the output of the
following query?
SELECT REPLACE
(TRANSLATE (LTRIM (RTRIM('!! ATHEN!!','!'), '!'), 'AN', '**'),'*','TROUBLE')
FROM DUAL;
TROUBLETHETROUBLE
18. What will be the output of the
following query?
SELECT DECODE (TRANSLATE('A','1234567890','1111111111'), '1','YES', 'NO'
);
Answer:
NO
Explanation:
The query checks whether a given
string is a numerical digit.
19. 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.
20. Which date function is used to
find the difference between two dates?
MONTHS_BETWEEN
21. 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.
22. 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.
23. What is the use of the DROP
option in the ALTER TABLE command?
It is used to drop constraints specified on
the table.
24. 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
25. What is the use of DESC in SQL?
Answer :
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.
26. 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.
27. Which function is used to find
the largest integer less than or equal to a specific
value?
FLOOR
28. What is the output of the
following query?
SELECT TRUNC(1234.5678,-2) FROM DUAL;
1200