Computer Knowledge
Database and SQL
4,213 Questions
Master structured query language commands, database joins, table constraints, and alias generation. This section covers relational database management concepts and query outputs essential for technical aptitude. These technical questions feature prominently in banking IT officer exams and computer knowledge sections.
SQL queries and aliasesDatabase table constraintsDatabase joins and transformationsStored procedures and functions
Database and SQL Questions
-
You can join a maximum of two tables through an equijoin
-
You can join a maximum of two columns through an equijoin
-
You specify an equijoin condition in the SELECT or FROM clauses of a SELECT statement
-
To join two tables through an equijoin, the columns in the join condition must be primary key and foreign key columns.
-
You can join n tables (all having single column primary keys) in a SQL statement by specifying a minimum of n-1 join conditions.
E
Correct answer
Explanation
To understand the concept of equijoin, the user should know the basics of SQL and joins. An equijoin is a type of join that combines columns from two or more tables based on their equality.
Let's go through each option and explain whether it is true or false:
A. You can join a maximum of two tables through an equijoin
- This statement is false. You can join more than two tables through an equijoin.
B. You can join a maximum of two columns through an equijoin
- This statement is false. You can join more than two columns through an equijoin.
C. You specify an equijoin condition in the SELECT or FROM clauses of a SELECT statement
- This statement is false. You specify an equijoin condition in the WHERE clause of a SELECT statement.
D. To join two tables through an equijoin, the columns in the join condition must be primary key and foreign key columns.
- This statement is false. The columns in the join condition need not be primary key and foreign key columns; they can be any columns that have the same data type and contain the same values.
E. You can join n tables (all having single column primary keys) in a SQL statement by specifying a minimum of n-1 join conditions.
- This statement is true. If you want to join n tables, you need to specify a minimum of n-1 join conditions.
The Answer is: E
-
WHERE
-
HAVING
-
RESTRICT
-
GROUP BY
-
ORDER BY
B
Correct answer
Explanation
HAVING is used to filter grouped results after aggregation, unlike WHERE which filters rows before grouping. HAVING is essential when you need to apply conditions to aggregate functions like COUNT, SUM, or AVG.
-
Create groups of data
-
Sort data in a specific order
-
Convert data to a different format
-
Retrieve data based on an unknown condition
D
Correct answer
Explanation
A subquery is a nested query whose result is passed to the outer query. It is typically used to retrieve data based on a condition that is unknown at the time of writing the query, such as finding employees earning above average.
-
query will retrieve only one row
-
authorization failure
-
no such code available
-
rollback
B
Correct answer
Explanation
To answer this question, we need to know the context in which the SQL code -922 is being used. SQL codes are specific error or informational messages generated by the database management system (DBMS) when it encounters certain conditions or situations. Without context, it is difficult to determine the exact meaning of a particular SQL code.
However, in general, SQL code -922 is associated with authorization failures. This means that the user attempting to execute a particular SQL statement does not have the required permissions or privileges to perform the operation. The exact meaning and resolution of the error will depend on the specific DBMS being used and the context in which the error occurred.
Therefore, the correct answer is:
The Answer is: B. authorization failure.
-
returns 5 rows
-
returns 3 rows
-
returns all 8rows
-
none
-
no of duplicate values
-
no of distinct values
-
no of null values
-
both 1 & 2
B
Correct answer
Explanation
Index cardinality refers to the number of distinct (unique) values in an indexed column. A high cardinality index has many unique values (like a primary key), making it very selective and efficient for queries. A low cardinality index has many duplicate values (like a gender column with only 'M' and 'F'), making it less selective. Cardinality helps the query optimizer choose the best execution plan - high cardinality indexes are preferred for filtering and joins. Option A (duplicate values) is the opposite of cardinality. Option C (null values) is unrelated to cardinality definition.
-
You cannot use IN operator in a condition that involves an outerjoin
-
You use (+) on both sides of the WHERE condition to perform an outerjoin
-
You use (*) on both sides of the WHERE condition to perform an outerjoin
-
You use an outerjoin to see only the rows that do not meet the join condition
-
In the WHERE condition, you use (+) following the name of the column in the table
-
You cannot link a condition that is involved in an outerjoin to another condition by
-
DELETE employees;
-
DESCRIBE employees;
-
ROLLBACK TO SAVEPOINT C;
-
GRANT SELECT ON employees TO SCOTT;
-
ALTER TABLE employees SET UNUSED COLUMN sal;
-
Select MAX(sal) FROM employees WHERE department_id = 20;
C,E
Correct answer
Explanation
In Oracle transactions, ROLLBACK TO SAVEPOINT C undoes changes to a named savepoint, and ALTER TABLE ... SET UNUSED COLUMN marks a column as unused (which auto-commits). DDL statements like ALTER auto-commit, and rollback to savepoint completes a transactional unit. The other options (DELETE, DESCRIBE, GRANT, SELECT) don't complete transactions - DESCRIBE and SELECT are read-only, while DELETE and GRANT are statements within transactions.
-
You can use aggregate functions in any clause of a SELECT statement.
-
You can use aggregate functions only in the column list of the SELECT clause and in the WHERE clause of a SELECT statement.
-
You can mix single row columns with aggregate functions in the column list of a SELECT statement by grouping on the single row columns.
-
You can pass column names, expressions, constants, or functions as parameters to an aggregate function.
-
You can use aggregate functions on a table, only by grouping the whole table as one single group.
-
You cannot group the rows of a table by more than one column while using aggregate functions.
C,D
Correct answer
Explanation
Aggregate functions can be combined with single-row columns in a SELECT list if those columns are included in a GROUP BY clause. Additionally, aggregate functions accept columns, expressions, constants, or other functions as parameters.
C
Correct answer
Explanation
To solve this question, the user needs to have knowledge about aggregate functions in SQL.
Aggregate functions are used to perform calculations on a set of values to return a single value.
Now let's go through each option and explain why it is right or wrong:
A. COUNT: This is a valid aggregate function in SQL. It returns the number of rows that match a specified condition.
B. SUM: This is a valid aggregate function in SQL. It returns the sum of a set of values.
C. COMPUTE: This is not a valid aggregate function in SQL. There is no such function as COMPUTE in SQL.
D. MIN: This is a valid aggregate function in SQL. It returns the minimum value of a set of values.
Therefore, the answer is:
The Answer is: C
B
Correct answer
Explanation
This is false - FETCH with a cursor does NOT require explicit direction. If you omit NEXT/PRIOR/FIRST/LAST/ABSOLUTE/RELATIVE, the default is NEXT, which fetches the next row sequentially. The statement can use implicit direction, making the 'always' in the question incorrect.
A
Correct answer
Explanation
A PreparedStatement is indeed precompiled - the SQL statement template is parsed, compiled, and optimized when the statement is created (often on the connection), not when it's executed. This allows efficient reuse with different parameter values and provides some performance benefits for repeated executions.
B
Correct answer
Explanation
PL/SQL DOES support boolean variables - you can declare variables of type BOOLEAN. This is a common misconception because SQL (not PL/SQL) lacks a boolean data type for table columns.
-
CASCADE
-
UNIQUE
-
NONUNIQUE
-
CHECK
-
PRIMARY KEY
-
NOT NULL
B,D,E,F
Correct answer
Explanation
Oracle constraints are: NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK, and (for deferred constraints) initially deferred/deferred. CASCADE is a referential action (ON DELETE CASCADE), not a constraint type. NONUNIQUE is not a constraint.
-
INSERT
-
UPDATE
-
SELECT
-
DESCRIBE
-
DELETE
-
RENAME
D
Correct answer
Explanation
The DESCRIBE command is a command-line utility command in SQL*Plus and iSQL*Plus used to display the structure of a table. SELECT, INSERT, UPDATE, and DELETE are standard SQL Data Manipulation Language (DML) statements, not client-specific commands.