Questions
Find the odd man out.
- PRIMARY KEY Constraint
- UNIQUE KEY Constraint
- CHECK Constraint
- FOREIGN KEY Constraint
- NOT NULL Constraint
Note: While finding the odd man out from the above choices, consider the general scenarios, ignore the rare scenario.
- PRIMARY KEY Constraint
- UNIQUE KEY Constraint
- CHECK Constraint
- FOREIGN KEY Constraint
- NOT NULL Constraint
Which of the following requires the usage of wild card characters?
- BETWEEN
- IN
- EXISTS
- LIKE
- UNION
Which of the following is TRUE about PRIMARY KEY Constraint
- A Table can have more than one primary key.
- PRIMARY KEY should be defined along with the creation of the Table.
- PRIMARY KEY can be added after creating the Table using ALTER .
- PRIMARY KEY can also be dropped in case it is not useful.
- To define a PRIMARY KEY on any column, the column should ensure not to contain any NULL values.
- 1, 2, 4 are correct
- 1, 3 and 5 are correct
- 3, 4 and 5 are correct
- 2, 3 and 4 are correct
- All are correct
Which of the following is the correct way of defining the CHECK constraint?
-
CREATE TABLE STUDENTS( STUDENT_ID INT NOT NULL, STUDENT_NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL CHECK (AGE >= 18), ADDRESS CHAR (25) , MARKS INT, PRIMARY KEY (STUDENT_ID)); -
CREATE TABLE STUDENTS( STUDENT_ID INT NOT NULL, STUDENT_NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL , ADDRESS CHAR (25) , MARKS INT, PRIMARY KEY (STUDENT_ID));
ALTER TABLE STUDENTS MODIFY AGE INT NOT NULL CHECK (AGE >= 18 ); -
CREATE TABLE STUDENTS( STUDENT_ID INT NOT NULL, STUDENT_NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL , ADDRESS CHAR (25) , MARKS INT, PRIMARY KEY (STUDENT_ID));ALTER TABLE STUDENTS ADD CONSTRAINT myCheckConstraint CHECK(AGE >= 18); - Check constraint has introduced only from ORACLE 10g onwards.
- All Option 1, Option 2 and Option 3 are correct.
Which of the following is not the valid type of JOIN in ORACLE.
A. INNER JOIN
B. LEFT and RIGHT JOINS
C. SELF JOIN
D. MIDDLE JOIN
- A
- B
- C
- D
- All are valid types of JOINS in ORACLE
Which of the following can produces the NULL values in the resultant tables?
Note: The source tables have no NULL values in them.
A. INNER JOIN
B. LEFT & RIGHT JOINS
C. SELF JOIN
- A
- B
- C
- All of the JOINS produce NULL values to every result table
- JOINS never produce NULL values in the result tables when the source tables have no NULL values.
Which of the following is the correct way of defining a DEFAULT constraint for a table?
- CREATE TABLE STUDENTS(
STUDENT_ID INT NOT NULL,
STUDENT_NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
MARKS INT DEFAULT 35,
PRIMARY KEY (STUDENT_ID)
); - CREATE TABLE STUDENTS(
STUDENT_ID INT NOT NULL,
STUDENT_NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
PRIMARY KEY (STUDENT_ID)
);
ALTER TABLE STUDENTS ADD MARKS INT DEFAULT 35; - Both option 1 and option 2 are correct.
- DEFAULT is not a valid constraint in ORACLE.
- DEFAULT constraint was discontinued from ORACLE 9i onwards.
Assume there are 20 rows in the STUDENTS table and 5 rows in BRANCH table. Take a look at the Query below.
STUDENT Table has columns - STUDENT_ID, STUDENT_NAME, BR_ID, AGE, MARKS
BRANCH Table has columns - BRANCH_ID, BRANCH_NAME
SELECT STUDENT_ID, STUDENT_NAME, BRANCH_ID, BRANCH_NAME
FROM STUDENTS, BRANCH
What is the name of the join used in the above Query.
- INNER JOIN
- OUTER JOIN
- NORMAL JOIN
- CROSS JOIN
- SELF JOIN
Assume there are 20 rows in the STUDENTS table and 5 rows in BRANCH table. Take a look at the Query below.
STUDENT Table has columns - STUDENT_ID, STUDENT_NAME, BR_ID, AGE, MARKS
BRANCH Table has columns - BRANCH_ID, BRANCH_NAME
SELECT STUDENT_ID, STUDENT_NAME, BRANCH_ID, BRANCH_NAME
FROM STUDENTS, BRANCH
How many number of rows does the above query results?
- 20 rows only
- 20 + 5 = 25 rows
- 20 * 5 = 100 rows
- 20 - 5 = 15 rows
- 20 / 5 = 4 rows
Write the missing code for the Foreign Key constraint definition. Missing code is represented by *************** below.
Hint: Foreign Key is to define for BID column in STUDENTS table on BRANCH_ID column in BRANCH table.
CREATE TABLE BRANCH(
BRANCH_ID INT NOT NULL,
BRANCH_NAME VARCHAR2(20) NOT NULL,
PRIMARY KEY (BRANCH_ID) );
CREATE TABLE STUDENTS(
STUDENT_ID INT NOT NULL,
STUDENT_NAME VARCHAR2(25) NOT NULL,
AGE INT NOT NULL,
ADDRESS VARCHAR2(25) ,
MARKS INT,
BID INT *********************,
PRIMARY KEY (STUDENT_ID) );
- BID INT REFERENCES BRANCH(BRANCH_ID)
- BID INT FOREIGN KEY(BRANCH_ID)
- BID INT FOREIGN KEY CONSTRAINT (BRANCH_ID) TABLE BRANCH
- All the above 3 are correct
- Foreign Key Constraint or Referential integrity can not be defined along with the table definition
Write a query to enable (or TURN ON) a constraint on a table.
- ALTER TABLE STUDENTS
STATUS = ENABLE CONSTRAINT constraint_name - ALTER TABLE STUDENTS
ENABLE constraint_name - ALTER TABLE STUDENTS
ENABLE CONSTRAINT constraint_name - ALTER TABLE STUDENTS
TURN ON CONSTRAINT constraint_name - ALTER TABLE STUDENTS TURN ON constraint_name
How do you represent the missing values in a table in ORACLE?
- We represent the missing values with SPACES, i.e, ' '
- We represent the missing values with ZEROES, i.e. 0
- We represent the missing values with SPACES, ZEROES, etc. based on the datatype of the column.
- We represent the missing values with NULL.
- ORACLE tables should not have any missing values at any point of time.
Which of the following is correct about NOT NULL constraint?
A. NOT NULL constraint demands a column not to accept NULL values.
B. NOT NULL constraint demands a field to always contains some value.
C. One cannot insert a new record with a NULL value, when NOT NULL constraint is specified.
- A is correct
- B is correct
- C is correct
- None of A, B and C are correct
- All A, B and C are correct
Which of the following are correct about the Constraints?
- Constraints can be defined along with the table definition using CREATE.
- Constraints can be imposed on the table columns using ALTER statement after the table is defined.
- Constraints can be enabled and/or disabled.
- Constraints can be dropped if not required using ALTER - DROP.
- All the above are correct.
Write a query to retrieve all the students details whose id's starting from 1001 to 1050.
- SELECT *
FROM STUDENTS
WHERE STUDENT_ID BETWEEN 1001 AND 1050 - SELECT *
FROM STUDENTS
WHERE STUDENT_ID >= 1001
AND STUDENT_ID <= 1050 - SELECT *
FROM STUDENTS
WHERE STUDENT_ID > 1001
AND STUDENT_ID < 1050 - Both option 1 and option 2 are correct.
- None of the options are correct
Which of the following the correct way of defining the PRIMARY KEY constraint for a STUDENT table
A. CREATE TABLE STUDENTS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
MARKS INT,
PRIMARY KEY (ID)
);
B. CREATE TABLE STUDENTS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
MARKS INT,
PRIMARY KEY (ID, NAME)
);
C. CREATE TABLE STUDENTS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
MARKS INT,
);
ALTER TABLE STUDENTS ADD CONSTRAINT PK_STUDENTID PRIMARY KEY (ID, NAME);
D. CREATE TABLE STUDENTS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
MARKS INT,
);
ALTER TABLE STUDENTS ADD CONSTRAINT PK_STUDENTID PRIMARY KEY (ID);
- A and C are correct
- B and D are correct
- A, B and C are correct
- A, B and D are correct
- All 4 are correct
Consider the data from the two table STUDENT and BRANCH below.
| STUDENT_ID | STUDENT_NAME | BR_ID | MARKS |
| 1001 | STUDENT1 | 101 | 79 |
| 1002 | STUDENT 2 | 102 | 92 |
| 1003 | STUDENT 3 | 101 | 78 |
| 1004 | STUDENT 4 | 102 | 69 |
| 1005 | STUDENT 5 | 103 | 90 |
| 1006 | STUDENT 6 | 104 | 87 |
| 1007 | STUDENT 7 | 103 | 93 |
| 1008 | STUDENT 8 | 102 | 89 |
| 1009 | STUDENT 9 | 105 | 78 |
| 1010 | STUDENT 10 | 106 | 76 |
| BRANCH_ID | BRANCH_NAME |
| 101 | COMPUTERS |
| 102 | ARTS |
| 103 | ELECTRONICS |
| 104 | CHEMICAL |
| 105 | MECHANICAL |
| Write a query to retrieve the STUDENT_ID, STUDENT_NAME, STUDENT_NAME, BRANCH_ID, BRANCH_NAME and MARKS by joining the table STUDENTS and BRANCH on BRANCH_ID column. |
- SELECT STUDENT_ID,
STUDENT_NAME,
BRANCH_ID,
BRANCH_NAME,
MARKS
FROM STUDENTS, BRANCH
WHERE BR_ID = BRANCH_ID - SELECT STUDENT_ID,
STUDENT_NAME,
BRANCH_ID,
BRANCH_NAME,
MARKS
FROM STUDENTS
INNER JOIN BRANCH
WHERE BR_ID = BRANCH_ID - SELECT S.STUDENT_ID,
S.STUDENT_NAME,
B.BRANCH_ID,
B.BRANCH_NAME,
S.MARKS
FROM STUDENTS S, BRANCH B
WHERE S.BR_ID = B.BRANCH_ID - SELECT S.STUDENT_ID,
S.STUDENT_NAME,
B.BRANCH_ID,
B.BRANCH_NAME,
S.MARKS
FROM STUDENTS S
INNER JOIN BRANCH B
WHERE S.BR_ID = B.BRANCH_ID - All the above 4 queries are correct.
Consider the AGENTS table with columns AGENT_ID, AGENT_NAME, SALARY, SALES_QTY, Commission_Paid
Write a query to display the agents details whose agents Commission_Paid is not equal to NULL.
- SELECT AGENT_ID,
AGENT_NAME,
SALARY,
SALES_QTY,
COMMISSION_PAID
FROM AGENTS
WHERE COMMISSION_PAID != NULL - SELECT AGENT_ID,
AGENT_NAME,
SALARY,
SALES_QTY,
COMMISSION_PAID
FROM AGENTS
WHERE COMMISSION_PAID IS NOT NULL - SELECT AGENT_ID,
AGENT_NAME,
SALARY,
SALES_QTY,
COMMISSION_PAID
FROM AGENTS
WHERE COMMISSION_PAID NOT NULL - SELECT AGENT_ID,
AGENT_NAME,
SALARY,
SALES_QTY,
COMMISSION_PAID
FROM AGENTS
WHERE COMMISSION_PAID = NOT NULL - None of the above are correct
Consider the data from the two table STUDENT and BRANCH below.
| STUDENT_ID | STUDENT_NAME | BR_ID | MARKS |
| 1001 | STUDENT1 | 101 | 79 |
| 1002 | STUDENT 2 | 102 | 92 |
| 1003 | STUDENT 3 | 101 | 78 |
| 1004 | STUDENT 4 | 102 | 69 |
| 1005 | STUDENT 5 | 103 | 90 |
| 1006 | STUDENT 6 | 104 | 87 |
| 1007 | STUDENT 7 | 103 | 93 |
| 1008 | STUDENT 8 | 102 | 89 |
| 1009 | STUDENT 9 | 105 | 78 |
| 1010 | STUDENT 10 | 106 | 76 |
| BRANCH_ID | BRANCH_NAME |
| 101 | COMPUTERS |
| 102 | ARTS |
| 103 | ELECTRONICS |
| 104 | CHEMICAL |
| 105 | MECHANICAL |
| Write a query to retrieve the STUDENT_ID, STUDENT_NAME, STUDENT_NAME, BRANCH_ID, BRANCH_NAME and MARKS by joining the table STUDENTS and BRANCH on BRANCH_ID column. Also ensure that each row in the STUDENTS table should be present in the result table. |
-
sql SELECT STUDENT_ID, STUDENT_NAME, BRANCH_ID, BRANCH_NAME, MARKS FROM STUDENTS LEFT JOIN BRANCH WHERE BR_ID = BRANCH_ID -
sql SELECT STUDENT_ID, STUDENT_NAME, BRANCH_ID, BRANCH_NAME, MARKS FROM STUDENTS, BRANCH WHERE BR_ID = BRANCH_ID ON LEFT -
sql SELECT STUDENT_ID, STUDENT_NAME, BRANCH_ID, BRANCH_NAME, MARKS FROM STUDENTS LEFT, BRANCH WHERE BR_ID = BRANCH_ID -
sql SELECT STUDENT_ID, STUDENT_NAME, BRANCH_ID, BRANCH_NAME, MARKS FROM STUDENTS INNER JOIN BRANCH WHERE BR_ID = BRANCH_ID - All the four queries are correct.
Consider the data from the two table STUDENT and BRANCH below.
| STUDENT_ID | STUDENT_NAME | BR_ID | MARKS |
| 1001 | STUDENT1 | 101 | 79 |
| 1002 | STUDENT 2 | 102 | 92 |
| 1003 | STUDENT 3 | 101 | 78 |
| 1004 | STUDENT 4 | 102 | 69 |
| 1005 | STUDENT 5 | 103 | 90 |
| 1006 | STUDENT 6 | 104 | 87 |
| 1007 | STUDENT 7 | 103 | 93 |
| 1008 | STUDENT 8 | 102 | 89 |
| 1009 | STUDENT 9 | 105 | 78 |
| 1010 | STUDENT 10 | 106 | 76 |
| BRANCH_ID | BRANCH_NAME |
| 101 | COMPUTERS |
| 102 | ARTS |
| 103 | ELECTRONICS |
| 104 | CHEMICAL |
| 105 | MECHANICAL |
| Predict the output of the following query. |
SELECT STUDENT_ID,
STUDENT_NAME,
BRANCH_ID,
BRANCH_NAME,
MARKS
FROM STUDENTS
LEFT JOIN BRANCH
ON BR_ID = BRANCH_ID
- ||||||
|---|---|---|---|---|
|STUDENT_ID|STUDENT_NAME|BRANCH_ID|BRANCH_NAME|MARKS|
|1001|STUDENT1|101|COMPUTERS|79|
|1002|STUDENT 2|102|ARTS|92|
|1003|STUDENT 3|101|COMPUTERS|78|
|1004|STUDENT 4|102|ARTS|69|
|1005|STUDENT 5|103|ELECTRONICS|90|
|1006|STUDENT 6|104|CHEMICAL|87|
|1007|STUDENT 7|103|ELECTRONICS|93|
|1008|STUDENT 8|102|ARTS|89|
|1009|STUDENT 9|105|MECHANICAL|78|
|1010|STUDENT 10|NULL|NULL|76| - ||||||
|---|---|---|---|---|
|STUDENT_ID|STUDENT_NAME|BRANCH_ID|BRANCH_NAME|MARKS|
|1001|STUDENT1|101|COMPUTERS|79|
|1002|STUDENT 2|102|ARTS|92|
|1003|STUDENT 3|101|COMPUTERS|78|
|1004|STUDENT 4|102|ARTS|69|
|1005|STUDENT 5|103|ELECTRONICS|90|
|1006|STUDENT 6|104|CHEMICAL|87|
|1007|STUDENT 7|103|ELECTRONICS|93|
|1008|STUDENT 8|102|ARTS|89|
|1009|STUDENT 9|105|MECHANICAL|78|
|1010|STUDENT 10|106|MECHANICAL|76| - ||||||
|---|---|---|---|---|
|STUDENT_ID|STUDENT_NAME|BRANCH_ID|BRANCH_NAME|MARKS|
|1001|STUDENT1|101|COMPUTERS|79|
|1002|STUDENT 2|102|ARTS|92|
|1003|STUDENT 3|101|COMPUTERS|78|
|1004|STUDENT 4|102|ARTS|69|
|1005|STUDENT 5|103|ELECTRONICS|90|
|1006|STUDENT 6|104|CHEMICAL|87|
|1007|STUDENT 7|103|ELECTRONICS|93|
|1008|STUDENT 8|102|ARTS|89|
|1009|STUDENT 9|105|MECHANICAL|78|
|1010|STUDENT 10|106|NULL|76| - ||||||
|---|---|---|---|---|
|STUDENT_ID|STUDENT_NAME|BRANCH_ID|BRANCH_NAME|MARKS|
|1001|STUDENT1|101|COMPUTERS|79|
|1002|STUDENT 2|102|ARTS|92|
|1003|STUDENT 3|101|COMPUTERS|78|
|1004|STUDENT 4|102|ARTS|69|
|1005|STUDENT 5|103|ELECTRONICS|90|
|1006|STUDENT 6|104|CHEMICAL|87|
|1007|STUDENT 7|103|ELECTRONICS|93|
|1008|STUDENT 8|102|ARTS|89|
|1009|STUDENT 9|105|MECHANICAL|78|
|1010|STUDENT 10|NULL|NULL|NULL| - Syntax error in the Query.