SQL Queries
SQL Queries
( <attr-name1> <datatype>[(<size>],
<attr-name2> <datatype>[(<size>],
-- ---,
<attr-nameN> <datatype>[(<size>]
);
eg.
CREATE TABLE employee
( empID CHAR,
empName VARCHAR2(50),
empAge INTEGER,
empSalary DECIMAL(10,2)
);
DESCRIBE <table-name>;
eg. DESCRIBE employee;
INSERT COMMAND:
Syntax:
INSERT INTO <table-name>
VALUES ( <val1>, <val2>, --- <valN>);
eg.
INSERT INTO employee
VALUES ( 'E1', 'Ram', 21, 10000);
SELECT COMMAND:
Syntax:
SELECT <attr-name1>, <attr-name2>, --- <attr-nameN> FROM <table-name>
[WHERE <condition>]
[ORDER BY <attr-name1>];
BETWEEN---AND OPERATOR
For range of values
lower and upper values are inclusive
IN OPERATOR
For list of values
DISTINCT Keyword:
SELECT DISTINCT firstName FROM employee1;
ALL Keyword:
SELECT ALL firstName FROM employee1;
IS NULL operator
SELECT * FROM employee
WHERE empName IS NULL;
IS NOT NULL operator
SELECT * FROM employee
WHERE empName IS NOT NULL;
eg.
DELETE COMMAND:
Syntax:
eg1.
DELETE FROM employee;
UPDATE <table-name>
SET <attr-name1> = <val-1>,
<attr-name2> = <val-2>
... ...
<attr-nameN> = <val-N>
[WHERE <condition>];
EG.
UPDATE employee
SET empSalary = empSalary+1000;
UPDATE employee
SET empSalary = empSalary+1000
WHERE empID IN ('E1', 'E5', 'E7');
UPDATE employee
SET empSalary = empSalary+1000,
empAge = 15
WHERE empID IN ('E1', 'E5', 'E7');
COLUMN LEVEL
SYNTAX:
CREATE TABLE <table-name>
(
<attr-name1> <datatype> <col-constraint>,
<attr-name2> <datatype> <col-constraint>,
-- --- ---,
<attr-nameN> <datatype> <col-constraint>
);
1. NOT NULL
2. PRIMARY KEY
3. UNIQUE
4. CHECK
CREATE TABLE employee1
(
empID VARCHAR(10) PRIMARY KEY,
empName VARCHAR2(50) NOT NULL UNIQUE,
empAge INTEGER CHECK (empAge <=60),
empSalary DECIMAL(10,2)
);
5. DEFAULT
AGGREGATE FUNCTIONS:
* USED FOR SUMMRIZATION
_ 1 CHARACTER
% 0 OR MORE CHARACTERS
FOR EXAMPLE
CREATE TABLE employee33
(
empID VARCHAR2(5),
empFirstName1 VARCHAR2(50),
empLastNameAge1 VARCHAR2(50),
empSalary DECIMAL(10,2),
empAge INTEGER,
empDept VARCHAR2(10),
PRIMARY KEY (empID),
CONSTRAINT fk_fsName_employee33 FOREIGN KEY (empFirstName1, empLastNameAge1)
REFERENCES employee32(empFirstName,empLastNameAge)
);
GROUP BY CLAUSE
* TO_CHAR()
* TO_DATE()
SET OPERATIONS
UNION:
INTERSECT:
MINUS OPERATION
I EXISTS operator
II ANY OR SOME
III ALL
Select * from employee1
where empSalary > ALL
(select deptBudget from department1 );
IV IN OPERATOR
JOINS
* JOINS ARE USED TO JOIN TWO OR MORE TABLES.
* BY USING JOINS WE CAN RETRIEVE THE DATA FROM MULTIPLE TABLES.
CROSS JOIN
* EVERY TUPLE OF THE FIRST RELATION IS COMBINED WITH EVERY TUPLE OF THE
SECOND RELATION.
* NO NEED TO BE HAVING COMMON ATTRIBUTE(S)
* RESULT WILL CONTAIN THE TOTAL NO. OF ATTRIBUTES = ATTR(R1) + ATTR(R2)
TOTAL NO. OF TUPLES = TUPLES(R1) * TUPLES(R2)
* COMMON ATTRIBUTES WILL BE DUPLICATED IN THE RESULT.
SELECT * FROM
suppliers CROSS JOIN items;
OR
SELECT * FROM
suppliers, items;
II NATURAL JOIN
* IT IS A REFINEMENT OF CROSS JOIN.
* FOR NATURAL JOIN THERE MUST BE COMMON ATTRIBUTE(S) IN THE TABLES TO BE
JOINED.
* ONLY THOSE ROWS HAVING THE SAME VALUES FOR THE COMMON ATTRIBUTE(S)
WILL BE DISPLAYED.
* COMMON ATTRIBUTE(S) WILL NOT BE DISPLAYED IN A DUPLICATED MANNER.
SELECT itemID, suppID FROM
items NATURAL JOIN suppliers;
OR
IV OUTER JOIN
SELECT i.itemID, s.suppID, s.quantity FROM items i LEFT OUTER JOIN shipments
s
ON i.itemID = s.itemID;
SELECT i.itemID, s.suppID, s.quantity FROM shipments s RIGHT OUTER JOIN items
i
ON i.itemID = s.itemID;
SELECT i.itemID, s.suppID, s.quantity FROM shipments s FULL OUTER JOIN items
i
ON i.itemID = s.itemID;
V SELF JOIN
* A TABLE IS JOINED WITH ITSELF.
SELECT i1.itemID, i1.itemName, i2.itemID
FROM items i1, items i2
WHERE i1.itemID <> i2.itemID;
VIEWS
* IT IS A VIRTUAL TABLE.
* IT IS DERIVED FROM OTHER TABLES (I.E. BASE TABLES) OR OTHER VIEWS.
* DYNAMIC
* UPDATION IS POSSIBLE THROUGH VIEWS.
* NO JOIN
* NO AGGREGATE FUNCTION
SYNTAX
EXTRACT: