Dbms 3 Final
Dbms 3 Final
No Question BL CO PO
1 Describe the Group by clause with an example II III I
2 Display the employee details who is having the salary between 3000
I III III
and 60000?
3 Show the employee table using order by clause on employee name?
I III II
4 Display the employee salary by adding the bonus of Rs. 1000/-?
I III II
11 How to add the primary key constraint at table level with an III
example? IV II
12 What are keywords for enabling and disabling the constraints in III
SQL? I III
Part-B
Long Answer Questions (10M)
Q. No Question BL CO PO
Write a SQL query by using Select and Project commands
1 with some examples? IV III II
ii) find the names of sailors who have reserved all boats
11 Explain the following SQL constructs with examples:
VI III II
(i) order by (ii) group by (iii) and having
12 Explain the distinctions among the terms primary key,
foreign key, unique key. III III II
13 Discuss about how add the constraints at table level and
column level with an example II III II
14 How to add the primary key, unique, foreign key and check
constraints on a table using alter command? IV III III
19 Write SQL queries using exists, in, not, any, and all I III III
20 Define Sub queries? Explain with Example queries? IV III I
21 What are the aggregate functions in explain with an
example? II III II
28 Explain about Relational Set operators with some examples? III III I
UNIT-III
SAQ’S
PART-B
1) Write a SQL query by using Select and Project commands with some examples?
ANS) a. Selection Operation
1. The selection operation works on a single relation R
2. And it defines a relation that contains only those tuples of R
3. That satisfies the specified condition (Predicate).
4. Selection operation can be considered as row wise filtering.
5. This is pictorially represented also known as RESTRICT
6. It creates values for all rows found in a table that satisfy a given condition.
7. Select can be used to list all of the row values, or it can create only those
row values
8. That matches a specified criterion.
Syntax
σ Predicate (R).
ex: σ subject = "database"(Books)
b. Projection Operation
1. The projection operation works on a single relation R
2. And defines a relation that contains a vertical subject of R,
3. And extracting the values of specified attributes and elimination duplicates.
4. The projection operation can be considered as column wise filtering.
It’s creates all values for selected attributes. In other words, project creates a vertical
subset of a table.
Syntax
a1,a2, ..... an (R).
[Where a1, a2, ......... an are attributes and R stands for relation To illustrate projection operation consider
the relation STAFF, with the attributes Staff number, Name, Gender, Date of birth, and Salary.]
2) Discuss about Where Clause in Database
ANS) SQL Where clause:
= Equal to
> Greater than
< Less than
>= Greater than or equal to
<= Less than or equal to
<> Not equal to
SQL operators:
SQL statements generally contain some reserved words or characters that are used to
perform operations such as arithmetic and logical operations etc. Their reserved
words are known as operators.
SQL arithmetic operator:
+ Addition
- Subtraction
/ Division
* Multiplication
% modulus
1. Addition (+):
It is used to perform addition operation on data items.
Sample table:
EMP_ID EMP_NAME SALARY
1 Alex 25000
2 John 55000
3 Daniel 52000
4 Sam 12312
Output:
EMP_ID EMP_NAM SALARY SALARY+100
E
1 Alex 25000 25100
2 John 55000 55100
3 Daniel 52000 52100
4 Sam 12312 12412
Here we have done addition of 100 to each emp‟s salary.
2. Subtraction (-):
It is used to perform subtraction on the data items.
Example:
3. Division (/):
The division function is used to integer division (x is divided by y).an integer value
Is returned.
Example:
4. Multiplication (*):
It is used to perform multiplication of data items.
Select emp_id, emp_name, salary, salary*100 as
“salary*100” from employee;
5. Modulus (%):
It is used to get remainder when one data is divided by another. In oracle we mod in place of
symbol(%).
Select emp_id, emp_name, salary,mod(salary,500) as
“salary%25000”
from modulus;
Output:
EMP_ID EMP_NAME SALARY SALARY%2
500
0
1 Alex 25000 0
2 John 55000 5000
3 Daniel 52000 2000
4 Sam 90000 15000
Here we have done modulus operation to each emps salary.
Logical operations:
OPERATOR MEANING
ALL Returns true if all comparisons are
true
AND Returns true if both expressions
are true
ANY Returns true if any one of the
comparisons is
true
BETWEEN Return true if the operand is within
a range
IN Return true if the operand is equal to one
of
the values in a list
EXISTS Return true if the sub query
contains any rows
AND:
The AND operator allows you to construct multiple condition in the WHERE clause of
an SQLstatement such as select.
The following example finds all employees where salaries are greater than the 5000 and
less than 7000.
Select first_name, last_name, salary from
employees where salary>5000 AND
salary<7000 order by salary;
Output:
FIRST_NA LAST_NAME SALARY
ME
John Wesley 6000
Eden Daniel 6000
Luis Popp 6900
Shanta Suji 6500
2. ALL:
The ALL operator compares a value to all values in another value set.
The following example finds all employees whose salaries are greater
than all salaries of employees.
EX:
select first_name, last_name, salary from employees where
salary>=ALL (select salary from employees where
department_id =8) order by salary DESC;
Output:
3. ANY:
The ANY operator compares a value to any value in a set ascending to condition.
The following example statement finds all employees whose salaries are greater than
the averagesalary of every department.
EX:
select first_name, last_name, salary from employees where salary
>ANY (select avg (salary) from employees‟ group by department_id)
order by first_name, last_name;
Output:
4. Between:
The between operator searches for values that are within a set of values.
For example, the following statement finds all employees where salaries
are between 9000 and 12000.
EX:
Output:
department _id 8 or 9.
EX:
select first_name, last_name, department_id from employees
where department_id IN (8,9) order by department_id;
output:
Exists:
FIRST_NAME LAST_NAME
Steven King
Neena Kochhar
Alexander Hunold
4) Give the form of a basic SQL query. Write SQL queries to demonstrate the usage of SQLdate and
time data types and functions.
ANS)
DATE & TIME FUNCTIONS:
Some important date and time functions are below:
Output: 05-DEC-2021.
ADD_MONTHS: This function returns a date after adding data with specified no of months.EX:
Output: 31-MAR-17.
Select add_months(sysdate,3) from dual;
Output: 05-MAR-22.
NEXT_DAY: This function represents both day and date and returns the day of the next given day.
Output: 07-DEC-21.
Output: 31-DEC-21.
MONTHS_BETWEEN: It is used to find no of months between two
given dates.
Output: -4.
ROUND: It gives the nearest value or round off value for the argument pass. (or) It returns
a daterounded to a specific unit of measure.
Output: 01-JAN-22.
TRUNC: This function returns the date with the time(co-efficient) portion of the date
truncated to the unit specified.
Output: 01-DEC-21.
TO_DATE: This function converts date which is in the character string to a date value.
Output: 01-JAN-17.
Output: 05 12 2021.
LEAST: This function displays the oldest date present in the argument list.
Output: 01-MAR-21.
Output: 28-DEC-21.
1. CONCAT (): This function is used to add two words (or) strings.
3. LOWER (): This function is used to convert the given string into lowercase.
OUTPUT: database
4. UPPER (): This function is used to convert the lowercase string into uppercase.
EX: select upper („database „) from dual;
OUTPUT: DATABASE
5. LPAD (): This function is used to make the given string of the given size by adding the given symbol.
OUTPUT: 00system
6. RPAD (): This function is used to make the given string as long as the given size
by adding the given symbol on the right.
OUTPUT: system00
7. LTRIM (): This function is used to cut the given substring from the original string.
OUTPUT: base
OUTPUT: data.
9. INITCAP (): This function returns the string with first letter of each word starts with uppercase.
10. LENGTH (): Tis function returns the length of the given string.
OUTPUT: 11.
12. TRANSLATE (): This function returns a string after replacing some set of characters
ANS) SQL FUNCTIONS (Date & Time, Numeric, Aggregate, String conversions):
Output: 05-DEC-2021.
ADD_MONTHS: This function returns a date after adding data with specified no of months. EX:
Output: 31-MAR-17.
Select add_months(sysdate,3) from dual;
Output: 05-MAR-22.
Output: 05-DEC-2021.
NEXT_DAY: This function represents both day and date and returns the day of the next given day.
Output: 07-DEC-21.
Output: 31-DEC-21.
MONTHS_BETWEEN: It is used to find no of months between two
given dates.
Output: -4.
ROUND: It gives the nearest value or round off value for the argument pass. (or) It returns
a daterounded to a specific unit of measure.
Output: 01-JAN-22.
TRUNC: This function returns the date with the time(co-efficient) portion of the date
truncated to the unit specified.
Output: 01-DEC-21.
TO_DATE: This function converts date which is in the character string to a date value.
Output: 01-JAN-17.
Output: 05 12 2021.
LEAST: This function displays the oldest date present in the argument list.
Output: 01-MAR-21.
Output: 28-DEC-21.
Aggregate Functions:
Aggregate Functions take a collection of values as input and returns a single value.
1. Count ()
2. Sum ()
3. Avg ()
4. Max ()
5. Min ()
From
table_name
Where
condition);
2. Sum (): It will add/ sum all the column values in the query.
Syntax: Select sum (column_name)
From
table_na
me Where
condition);
Example: Select sum(salaries) from employees;
3. Avg (): Avg function used to calculate average values of the set of rows.
Syntax: Select avg (column_name)
From
table_na
me Where
condition);
4. Max (): This function is used to find maximum value from the set of values.
From
table_na
me Where
condition);
5. Min (): This function is used to find minimum value from the set of values.
From table_name
Where condition);
243.5
4. CEIL (): It returns the smallest integer value that is a greater than or equal
to a number. EX: select CEIL (25.77) from dual;
OUTPUT: 26
5. FLOOR (): It returns the largest integer value that is a less than or equal to a
number. EX: select FLOOR (25.75) from dual;
OUTPUT: 25
6. TRUNCATE (): This does not work for SQL server. It returns the truncated to 2 places
right of the decimal point.
EX: select TRUNCATE (7.53635, 2) from dual;
OUTPUT: 7.53
7. MOD (): It returns the remainder when two
numbers are divided. EX: select MOD
(55,2) from dual;
OUTPUT: 1.
8. ROUND (): This function rounds the given value to given number of digits of
precision. EX: select ROUND (14.5262,2) from dual;
OUTPUT: 14.53.
9. POWER (): This function gives the value of m raised to the
power of n. EX: select POWER (4,9) from dual;
OUTPUT: 262144.
10. SQRT (): This function gives the square root of the
given value n. EX: Select SQRT
(576) from dual;
OUTPUT: 24.
11. LEAST (): This function returns least integer from given set of
from dual;
OUTPUT: 1.
12. GREATEST (): This function returns greatest integer from given set
OUTPUT: 22
1. CONCAT (): This function is used to add two words (or) strings.
EX: select „database‟ ||‟ „|| „management system‟ From dual;
3. LOWER (): This function is used to convert the given string into lowercase.
EX: select lower („DATABASE‟) from dual;
OUTPUT: database
UPPER (): This function is used to convert the lowercase string into uppercase.
OUTPUT: 00system
5. RPAD (): This function is used to make the given string as long as the given size
by adding the given symbol on the right.
OUTPUT: system00
6. LTRIM (): This function is used to cut the given substring from the original string.
OUTPUT: base
OUTPUT: data.
8. INITCAP (): This function returns the string with first letter of each word starts with uppercase.
EX: Select INITCAP („data base management system‟) from dual;
9. LENGTH (): Tis function returns the length of the given string.
OUTPUT: 11.
capatal andaa.
a. Find the names of all employees who work for First Bank Corporation.
b. Find the names and cities of residence of all employees who work for First
Bank Corporation.
c. Find the names, street addresses, and cities of residence of all employees who work
for First Bank Corporation and earn more than $10,000.
d. Find all employees in the database who live in the same cities as the companies
for which they work.
Ans)
a) Find the names of all employees who work for First Bank Corporation.
b) Find the names and cities of residence of all employees who work for First Bank
Corporation.
c) Find the names, street addresses, and cities of residence of all employees who work for
First Bank Corporation and earn more than $10,000.
d) Find all employees in the database who live in the same cities as the companies for
which they work.
i) Write a SQL query to display those customers who belongs to thecity “Hyderabad”
and last purchase amount is less than Rs.1000/-.
ii) Write a SQL statement to exclude the rows which satisfy
a) order dates are 01-01-2023 and purchase amount is below Rs.500/-
b)customers city is “Hyderabad” and purchase amount is below Rs.500/-
Ans)
i) Write a SQL query to display those customers who belongs to thecity “Hyderabad”
and last purchase amount is less than Rs.1000/-.
SELECT *
FROM Order_Details o
JOIN Customer c ON o.custId = c.custId WHERE
NOT (
(o.ordDate = '2023-01-01' AND o.purAmt < 500) OR
(c.city = 'Hyderabad' AND o.purAmt < 500)
);
ii) Find the age of youngest sailor who is eligible to vote (18 years age) for each rating level with at least 2 sailors
Sailors( sid: Integer, sname: String, age: Integer, rating: Integer) Boats(bid: Integer, bname:
String, bcolor: String)
Reserves(sid: Integer, bid: Integer, date: Date)
i) find the names of sailors who have reserved a red and a green boat
ii) find the names of sailors who have reserved all boats
Ans)
i) find the names of sailors who have reserved a red and a green boat
ii) find the names of sailors who have reserved all boats
ANS) Basic SQL querying (select and project) using where clause:
1. Group by:
SQL group by statement is used to arrange identical data into groups.
The group by statement is used with the SQL select statement.
The group by statement follows the WHERE clause in a SELECT statement
and precedes the ORDER BY clause.
Syntax:
Example:
Output:
Com 1 2
Com 2 2
Com 3 1
2. Having clause:
Having clause is used to specify a search condition for a group or an aggregate.
Having clause is used in a group by clause, if you are not using group by clause then you
Can usehaving function like a where clause.
Syntax:
Select column1, column2 from table_name
Conditions Group
by column1,
by column1, column2;
Example:
select company count (*) from product Group by company Having count (*)
= 2;
Output:
Com 2 2
Com 1 2
3. Order by clause:
The order by clause sorts the result _set in ascending or descending order.
Syntax:
Where condition
Sample table:
Example:
NAME ID CITY
Alekhya 501 Hyderabad
Deepti 502 Guntur
Rasi 503 Nellore
12)Explain the distinctions among the terms primary key, foreign key, unique key.
ANS)
PRIMARY KEY constraint :-
PRIMARY KEY is one of the candidates key , which uniquely identifies a record in a table.
-used to define key column of a table.
-it is provided with an automatic index.
-A primary key constraint combines a NOT NULL and UNIQUE behavior in one declaration.
There should be at the most one Primary Key or Composite primary key per table.
PK column do not accept null values.
PK column do not accept duplicate values.
RAW,LONG RAW,VARRAY,NESTED TABLE,BFILE columns cannot be declared with PK
If PK is composite then uniqueness is determined by the combination of columns.
A composite primary key cannot have more than 32 columns
It is recommended that PK column should be short and numeric.
Oracle automatically creates Unique Index on PK column
Ex:
Values of foreign key should match with values of primary key/unique orforeign
key can be null.
Foreign key column allows null values unless it is declared with NOTNULL.
Foreign key column allows duplicates unless it is declared with UNIQUE
By default, oracle establish 1:M relationship between two tables.
To establish 1:1 relationship between two tables declare foreign key with unique
constraint
Composite foreign key must refer composite primary key or Compositeunique key.
Sometimes we need to maintain only. Unique data in the column of a database table,
this is possible by using a unique constraint.
Example:
Create table PERSONS (id int unique, last_name varchar (25) not null,First name
varchar (25), age int);
In the above example, as we have used unique constraint on ID column we are not
Supposed to enter the data that is already present, simply no two ID values
are same.
13)Discuss about how to add the constraints at table level and column level with an example
command.
When we use this, make sure that the table should not contain data.
…..,
col_nameN DATATYPE(SIZE) ,
…..,
col_nameN DATATYPE(SIZE) ,
NAME _OF_ THE_CONSTRAINT [column_list] );
A constraint can be added to a table at any time after the table was created by using
ALTERTABLE statement, using ADD clause.
Syntax:
(column);
Note:’ Constraint ‘clause is not required when constraints declared without a label.
14)How to add the primary key, unique, foreign key and check constraints on a table using alter command?
PRIMARY KEY is one of the candidates key , which uniquely identifies a record in a table.
-used to define key column of a table.
-it is provided with an automatic index.
-A primary key constraint combines a NOT NULL and UNIQUE behavior in one declaration.
Characteristics of PRIMARY KEY :-
There should be at the most one Primary Key or Composite primary key per table.
PK column do not accept null values.
PK column do not accept duplicate values.
RAW,LONG RAW,VARRAY,NESTED TABLE,BFILE columns cannot be declared with PK
If PK is composite then uniqueness is determined by the combination of columns.
A composite primary key cannot have more than 32 columns
It is recommended that PK column should be short and numeric.
Oracle automatically creates Unique Index on PK column
Ex:
FOREIGN KEY :-
Values of foreign key should match with values of primary key/unique orforeign
key can be null.
Foreign key column allows null values unless it is declared with NOTNULL.
Foreign key column allows duplicates unless it is declared with UNIQUE
By default, oracle establish 1:M relationship between two tables.
To establish 1:1 relationship between two tables declare foreign key with unique
constraint
Sometimes we need to maintain only. Unique data in the column of a database table,
this is possible by using a unique constraint.
Example:
Create table PERSONS (id int unique, last_name varchar (25) not null,First name
varchar (25), age int);
In the above example, as we have used unique constraint on ID column we are not
supposedto enter the data that is already present, simply no two ID values
are same.
Ans) Data constraints: All the business world run on business data being gathered, stored and
analyzed. Business managers determine a set of business rules that must be applied to their data
prior to it being stored in the database/table of ensure its integrity.
For instance, no employee in the sales department can have a salary of less than Rs.1000/- . Such
rules have to be enforced on data stored. If not, inconsistent data is maintained in database.
Note: It is used to impose business rules on DBs. It allows to enter only valid data.
And ensures that each row of a column must have a UNIQUE value or name.
Primary key constraint – This avoids duplicate and null values. It combination of a NOT NULL
and UNIQUE.
The subquery (inner query) executes once before the main query (outer query)
executes.
The main query (outer query) use the subquery result.
Type of Subqueries
Single row subquery : Returns zero or one row.
Multiple row subquery : Returns one or more rows.
Multiple column subquery : Returns one or more columns.
Correlated subqueries : Reference one or more columns in the outer SQL statement. The
subquery is known as a correlated subquery because the subquery is related to the outerSQL
statement.
Nested subqueries : Subqueries are placed within another subqueries.
SINGLE ROW SUBQUERIES:- Returns zero or one row.
If inner query returns only one row then it is called single row subquery.
Syntax :-
19)Write SQL queries using exists, in, not, any, and all
ANS) Exists:
The EXISTS operator tests if a sub query contains any rows.
For example, the following statement finds all employees who have dependents.
select first_name, last_name from employees where
EXISTS (select 1 from dependent d where
d.employee_id=e.employee_id);
FIRST_NAME LAST_NAME
Steven King
Neena Kochhar
Alexander Hunold
IN:
The IN operator compares a value to list of specified values. The IN operator
return true if compared value matches at least one value in the list.
The following statement finds all employees who work in
Output:
The following example finds all employees whose salaries are greater
than all salaries of employees.
EX:
select first_name, last_name, salary from employees where
salary>=ALL (select salary from employees where
department_id =8) order by salary DESC;
Output:
Output:
A SQL JOIN is an Operation , used to retrieve data from multiple tables. It is performed
whenever two or more tables are joined in a SQL statement. so, SQL Join clause is used to
combine records from two or more tables in a database. A JOIN is a means for combining fields
from two tables by using values common to each. Several operators can be used to join tables,
such as =, <>, <=, >=, !=, BETWEEN, LIKE, and NOT; these all to be used to join tables.However,
the most common operator is the equal symbol.
SQL Join Types:
There are different types of joins available in SQL:
INNER JOIN
OUTER JOIN:
- LEFT JOIN/LEFT OUTER JOIN: Returns all rows from the left table, even if there are no
matches in the right table.
-RIGHT JOIN/RIGHT OUTER JOIN: Returns all rows from the right table, even if there are no
matches in the left table.
-FULL JOIN/FULL OUTER JOIN: Returns rows when there is a match in one of the
tables
SELF JOIN: It is used to join a table to itself as if the table were two
tables, temporarilyrenaming at least one table in the SQL statement.
CARTESIAN JOIN or CROSS JOIN: It returns the Cartesian product of the sets of records from
the two or more joined tables.
Based on Operators, The Join can be classified as
Syntax
The SQL INNER JOIN would return the records where table1 and table2 intersect.Let's
look at some data to explain how the INNER JOINS work with example.
We have a table called SUPPLIERS with two fields (supplier_id and supplier_name).It
contains the following data:
supplier_id supplier_name
10000 ibm
10002 microsoft
10003 nvidia
We have another table called ORDERS with three fields (order_id, supplier_id, andorder_date).
The rows for Microsoft and NVIDIA from the supplier table would be omitted, since the supplier_id's
10002 and 10003 do not exist in both tables.
The row for 500127 (order_id) from the orders table would be omitted, since thesupplier_id 10004
does not exist in the suppliers table.
2. OUTER JOIN:
Inner / Equi join returns only matching records from both the tables but not unmatched
record,An Outer join retrieves all row even when one of the column met join
condition.Types of outer join:
This type of join returns all rows from the LEFT-hand table specified in the ON condition and
only those rows from the other table where the joined fields are equal (joincondition is met).
Syntax
SELECT columns FROM table1 LEFT [OUTER] JOIN table2 ON
table1.column = table2.column;
Visual Illustration
In this visual diagram, the SQL LEFT OUTER JOIN returns the shaded area:
The SQL LEFT OUTER JOIN would return the all records from table1 and only thoserecords
from table2 that intersect with table1.
Example
SELECT suppliers.supplier_id,
suppliers.supplier_name, orders.order_date FROM
suppliers LEFT OUTER JOIN orders ON suppliers.supplier_id =
orders.supplier_id;
This LEFT OUTER JOIN example would return all rows from the suppliers table and onlythose rows from
the orders table where the joined fields are equal.
supplier_id supplier_name order_date
-------------- ---------------------- ---------------------
--
10000 ibm 2003/05/12
10001 hewlett 2003/05/13
packard
10002 microsoft <null>
10003 nvidia <null>
The rows for Microsoft and NVIDIA would be included because a LEFT OUTER JOINwas
used. However, you will notice that the order_date field for those records contains a
<null> value.
This type of join returns all rows from the RIGHT-hand table specified in the ON condition
and only those rows from the other table where the joined fields are equal (joincondition is
met).
Syntax
Visual Illustration
In this visual diagram, the SQL RIGHT OUTER JOIN returns the shaded area:
The SQL RIGHT OUTER JOIN would return the all records from table2 and only thoserecords from table1
that intersect with table2.
Example
If a supplier_id value in the orders table does not exist in the suppliers table, all fields inthe
suppliers table will display as <null> in the result set.
The row for 500127 (order_id) would be included because a RIGHT OUTER JOIN wasused.
However, you will notice that the supplier_name field for that record contains a <null> value.
This type of join returns all rows from the LEFT-hand table and RIGHT-hand table withnulls in place
where the join condition is not met.
Syntax
SELECT columns FROM table1 FULL [OUTER] JOIN table2 ON table1.column = table2.column; In
some databases, the FULL OUTER JOIN keywords are replaced withFULL JOIN.
Visual Illustration
In this visual diagram, the SQL FULL OUTER JOIN returns the shaded area:
The SQL FULL OUTER JOIN would return the all records from both table1 and table2.
Example
Query : Find supplier id, supplier name and order date of suppliers who have ordered.
This FULL OUTER JOIN example would return all rows from the suppliers table and allrows from
the orders table and whenever the join condition is not met, <nulls> would be extended to
those fields in the result set.
If a supplier_id value in the suppliers table does not exist in the orders table, all fields in the
orders table will display as <null> in the result set. If a supplier_id value in the orderstable does
not exist in the suppliers table, all fields in the suppliers table will display as <null> in the result
set.
The rows for Microsoft and NVIDIA would be included because a FULL OUTER JOINwas used. However,
you will notice that the order_date field for those records contains a
<null> value.
The row for supplier_id 10004 would be also included because a FULL OUTER JOIN wasused.
However, you will notice that the supplier_id and supplier_name field for those records contain a
<null> value.
Equi join :
When the Join Condition is based on EQUALITY (=) operator, the join is said to be an Equijoin.
It is also called as Inner Join.
Syntax
Select col1,col2,…From <table 1>,<table 2>Where <join condition with ‘=’ > .
Ex.Query : Find supplier id, supplier name and order date of suppliers who have ordered .
=o.supplierid.
When the join condition based on other than equality operator , the join is said to be a Non- Equijoin.
Syntax:-
Select
col1,col2,……
. From <table
1>,<table 2>
In NON- EQUI JOIN, JOIN COND is not based on = operator. It is based
on other than = operator, usually BETWEEN or > or < operators.
Query : Find supplier id,supplier name and order date in between 50025 and 500127.
Query : Find supplier id,supplier name and order date above 500126.
sql> select s.supplier_id,s.supplier_name,o.order_date from suppliers s , orders o whereo.order_id
>500126;
Self Join :-
Syntax :
Example:
select s1.supplier_id ,s1.supplier_name ,s2.supplier_id from suppliers s1, suppliers s2 where
s1.supplier_id=s2.supplier_id ;
supplier_id supplier_name supplier_id
----------------- ------------------ ---------------
It returns the Cartesian product of the sets of records from the two or more joined tables. In
Cartesian product, each element of one set is combined with every element of another set to
formthe resultant elements of Cartesian product.
Sytax: SELECT * FROM <tablename1> CROSS JOIN <tablename2>
SELECT sid,sname,sid FROM sailors NATURAL JOIN reserves ; //both tables havesame
column name.
22 DUSTIN 22
22 DUSTIN 22
22 DUSTIN 22
22 DUSTIN 22
31 LUBBER 31
31 LUBBER 31
31 LUBBER 31
64 HORTIO 64
64 HORTIO 64
74 HORTIO 74
24)What are the advantages of views? List out the constraints for defining updateable and non-
updateable views
Security: - Each user can be given permission to access only a set of views that contain specific data.
Query simplicity: - A view can draw from several different tables and present it as a single tableturning
multiple table queries into single table queries against the view.
Data Integrity: - If data is accessed and entered through a view, the DBMS can automatically check the
data to ensure that it meets specified integrity constraints.
25)Discuss about updates on views. What is the need to restrict view updates
Updating a View:
So if a view satisfies all the above-mentioned rules then you can update a view.
26)Explain about the complex views and how they are implemented in SQL? Ans) Complex Views: -
Example 1 :-
SQL>CREATE VIEW V3 AS
SELECT
E.empno,E.ename,E.sal,D.dname,D.loc FROM
emp E JOIN dept D USING(deptno) ;
SQL>CREATE VIEW V2 AS
SELECT deptno,SUM(sal) AS sumsal
FROM EMP
GROUP BY deptno;
Destroying a View: -
The DROP VIEW command is used to destroy a view from the database.
Syntax: -
DROP VIEW<viewName>
Example: -
27)Write SQL queries using union, union all, intersect, minus and explain?
. ANS) same as 28th question
28)Explain about Relational Set operators with some examples?
ANS) SQL set operators allows combine results from two or more SELECT statements. At first
sight this looks similar to SQL joins although there is a big difference. SQL joins tends to
combine columns i.e. with each additionally joined table it is possible to select more and more
columns. SQL set operators on the other
hand combine rows from different queries with strong preconditions.
Retrieve the same number of columns and
The data types of corresponding columns in each involved SELECT must be
compatible(either the same or with possibility implicitly convert to the data types of
the first SELECT statement).
UNION ---returns all rows selected by either query. To return all rows from
multipletables and eliminates any duplicate rows.
UNION ALL-- returns all rows from multiple tables including duplicates.
INTERSECT – returns all rows common to multiple queries.
MINUS—returns rows from the first query that are not present in second query.
SELECT statement 1
Example :-
UNION
SELECT job FROM emp WHERE deptno=20 ;
Example :-
3. INTERSECT
This will give the common records of multiple tables having the
samestructure.
INTERSECT operator returns common values from the result of two SELECT
statements.
Example:-
4. MINUS
This will give the records of a table whose records are not in
other tableshaving the same structure.
MINUS operator returns values present in the result of first SELECT
statement and not presentin the result of second SELECT statement.
Example:-