Вы находитесь на странице: 1из 13

***********************************************| { DATA MANUPULATION LANGUAGE } |

*************************************************

======================= CREATE TABLE WITH ATTRIBUTES =======================

create table EMPLOYEE


(EMP_ID number(10),
EMP_NAME varchar(20),
JOB varchar(20),
MANAGER varchar(20),
HIREDATE date,
SALARY number(10),
COMMISION number(10),
DEPTNO number(4));

======================= INSERT DATA =======================

insert into EMPLOYEE values(1,'zaid','CEO','Yes','22-Mar-2019',120000,0,1910);


insert into EMPLOYEE values(2.nextval,'Hamza','EMP','No','28-Feb-
2018',30000,0,1910);
insert into EMPLOYEE values(3,'Ahmad','EMP','No','03-April-2015',130000,0,1910);
insert into EMPLOYEE values(4,'Hassan','EMP','Yes','13-Jan-2014',140000,0,1910);
insert into EMPLOYEE values(5,'Imran','EMP','No','15-Dec-2017',220000,0,1910);
insert into EMPLOYEE values(6,'Sharjeel','EMP','No','24-Sep-2016',340000,0,1910);
insert into EMPLOYEE values(7,'Ali','EMP','No','13-Aug-2016',900000,12000,1910);
insert into EMPLOYEE values(8,'Hafeez','EMP','No','16-Mar-2017',80000,10000,1910);
insert into EMPLOYEE values(9,'Anees','EMP','No','20-June-2018',100000,5000,1910);
insert into EMPLOYEE values(10,'Naqeeb','CEO','Yes','11-May-
2014',150000,20000,1910);
insert into EMPLOYEE values(11,'Naqeeb','CEO','Yes','11-May-
2014',150000,20000,1910);
insert into EMPLOYEE values(14,'Naqeeb','CEO','Yes','11-May-
2014',150000,20000,1930);

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DELETE SPECIFIC ROW/RECORD


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Delete from EMPLOYEE where EMP_ID = 10;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ UPDATE SPECIFIC ROW/RECORD


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

update EMPLOYEE set HIREDATE = '19-FEB-2017',EMP_NAME = 'Haris',JOB = 'EMP',MANAGER


= 'No',SALARY = 110000,COMMISION = NULL where EMP_ID = 11;

update employee set commision = NULL where emp_id between 1 and 6;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DIRECT CALCULATED FIELD DATA


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SELECT EMP_ID, EMP_NAME, (SALARY + 10000) FROM EMPLOYEE;

SELECT EMP_ID, EMP_NAME, (SALARY / 10) FROM EMPLOYEE;

SELECT EMP_ID, EMP_NAME, (SALARY - 10000) FROM EMPLOYEE;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DISTINCT DATA


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select distinct EMP_NAME from EMPLOYEE;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ COMPARISON SEARCH CONDITIONS


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select *from EMPLOYEE where SALARY < 90000;

select *from EMPLOYEE where SALARY > 90000;

select *from EMPLOYEE where SALARY = 900000;

select *from EMPLOYEE where EMP_ID = 4;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ORDER BY ATTRIBUTES


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select *from EMPLOYEE order by EMP_ID ASC;

select *from EMPLOYEE order by EMP_ID DESC;

select EMP_ID from EMPLOYEE order by SALARY;

select EMP_ID, DEPTNO, EMP_NAME, SALARY from EMPLOYEE order by SALARY DESC;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SELECT, FROM AND WHERE CLAUSE FOR RETRIVE


DATA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select EMP_ID,DEPTNO,EMP_NAME,SALARY from EMPLOYEE;

select *from EMPLOYEE where COMMISION is NULL;

select *from EMPLOYEE;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BETWEEEN CLUSE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select *from EMPLOYEE where SALARY between 100000 and 200000 order by EMP_ID;

select *from EMPLOYEE where SALARY not between 100000 and 200000 order by EMP_ID;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (IS NULL/IS NOT NULL) CLAUSE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select *from EMPLOYEE where COMMISION IS NULL;

select *from EMPLOYEE where COMMISION IS NOT NULL;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (IN, NOT IN) CLAUSE RETRIVE DATA FROM TABLE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select EMP_ID,DEPTNO,EMP_NAME,MANAGER,SALARY from EMPLOYEE where MANAGER in


('Yes');

select EMP_ID,DEPTNO,EMP_NAME,MANAGER,SALARY from EMPLOYEE where MANAGER not in


('Yes');

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BOOLEAN/COMPOUND COMPARISON SEARCH CONDITIONS


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

select *from EMPLOYEE where SALARY > 1000 and SALARY < 130000;

select *from EMPLOYEE where SALARY < 10000 or SALARY < 120000;

select *from EMPLOYEE where SALARY <= 90000 and SALARY >= 40000 ;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PATTERN MATCH SEARCH CONDITION (LIKE, NOT


LIKE) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//Search By First Letter


select * from EMPLOYEE where EMP_NAME Like 'A%';

//Search By First Letter and Max Digit


select * from EMPLOYEE where EMP_NAME Like 'A__';

//Search By Last Letter


select * from EMPLOYEE where EMP_NAME Like '%d';

//Search By Middle Letter


select * from EMPLOYEE where EMP_NAME Like '%a%';

//Search By Other 'A' First Letter


select * from EMPLOYEE where EMP_NAME NOT Like 'A%';

===========================AGGREGATION FUNCTIONS===========================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE OF COUNT(*) FUNCTION


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SELECT COUNT(SALARY) AS TOTAL_No._OF_SALARIES FROM EMPLOYEE WHERE SALARY <


1000000;

SELECT COUNT(Distinct EMP_NAME) AS SALARY_COUNTING_WITHOUT_DUBLICATE_NAME FROM


EMPLOYEE WHERE SALARY < 1000000;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE OF (SUM, MIN, MAX, AVG) FUNCTION


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SELECT MIN(SALARY) AS Min_SALARY FROM EMPLOYEE ;

SELECT MAX(SALARY) AS Max_SALARY FROM EMPLOYEE ;

SELECT SUM(SALARY) AS Sum_SALARY FROM EMPLOYEE ;

SELECT AVG(SALARY) AS Avg_ALL_SALARIES FROM EMPLOYEE ;

SELECT MIN( SALARY ) AS Min_SALARY , MAX( SALARY ) AS Max_SALARY , AVG( SALARY ) AS


Avg_SALARY
FROM EMPLOYEE;

===================================================================================
=====================================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ GROUP BY Clause


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SELECT DEPTNO,COUNT( EMP_ID ) AS Total_EMPLOYEES , SUM( SALARY ) AS Total_SALARY


FROM EMPLOYEE
GROUP BY DEPTNO
ORDER BY DEPTNO;

===================================================================================
=====================================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Restricting Groupings (HAVING clause)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SELECT DEPTNO, COUNT( EMP_ID ) AS Total_EMLOYEES , SUM( SALARY ) AS Total_SALARY


FROM EMPLOYEE
GROUP BY DEPTNO
HAVING COUNT( EMP_ID ) > 2
ORDER BY DEPTNO;

===================================================================================
=====================================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Subqueries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(A) Using a subquery with equality:

Qno.1: List the EMPLOYEE who work in the DEPTNO at '#Block 1,MAIN STREET'.

SELECT EMP_ID,EMP_NAME,JOB
FROM EMPLOYEE
WHERE DEPTNO = (SELECT DEPTNO
FROM DEPTNO
WHERE STREET = �#Block 1,MAIN STREET�);

(B) Using a Subquery with Aggregate Function:

Qno.2: List all EMLOYEES whose SALARY is Greater than the Average salary, and Show
by How much
their SALARY is Greater than the Average.

select DEPTNO, EMP_NAME,JOB,(SALARY�(select AVG( SALARY ) from EMPLOYEE)) AS


SALARY_Differance
FROM EMPLOYEE;
WHERE (select AVG( SALARY ) from EMPLOYEE) < SALARY ;

===================================================================================
=====================================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ANY and ALL


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(A) Use of ANY/SOME:

Qno1: Find all EMPLOEES whose SALARY is Larger than the SALARY of at Least one
member of EMPLOYEE at
DEPTNO 1910.

SELECT EMP_ID,EMP_NAME,JOB,SALARY,HIREDATE,COMMISION,MNG,DEPTNO
FROM EMPLOYEE
WHERE SALARY > SOME(SELECT SALARY
FROM EMPLOYEE
WHERE DEPTNO = 1910);

(B) Use of ALL


Qno.3: Find all EMPLOYEES whose SALARY is Larger than the SALARY of Every Member of
EMPLOYEE at
DEPTNO 1910.

SELECT EMP_ID,EMP_NAME,JOB,SALARY,HIREDATE,COMMISION,MNG,DEPTNO
FROM EMPLOYEE
WHERE SALARY > ALL(SELECT SALARY
FROM EMPLOYEE
WHERE DEPTNO = 1910);

===================================================================================
=====================================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ KEYS For Exmaples


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[{( Definition )}]


CREATE TABLE Viewing(Client_No varchar(50),Vehicle_No varchar(50),
Date_View date,Comment varchar(200));

[{( Primary keys )}]

ALTER TABLE Viewing ADD UNIQUE (Client_No);

[{( Unique keys )}]

ALTER TABLE Viewing ADD UNIQUE (Client_No,Vehicle_No);

[{( Composite keys )}]

ALTER TABLE Viewing ADD UNIQUE (Client_No,Vehicle_No);

[{( Foreign Keys )}]

ALTER TABLE Viewing ADD FOREIGN KEY (Client_No)


REFERENCES Client (Client_No) ON UPDATE CASCADE ON DELETE NO ACTION;

ALTER TABLE Viewing ADD FOREIGN KEY (Vehicle_No)


REFERENCES Vehicle_For_Rent (Vehicle_No) ON UPDATE CASCADE ON DELETE CASCADE;

Options

ON UPDATE CASCADE ON DELETE CASCADE


ON UPDATE SET DEFAULT ON DELETE SET DEFAULT
ON UPDATE SET NULL ON DELETE SET NULL
ON UPDATE NOT NULL ON DELETE NOT NULL
ON UPDATE NO ACTION ON DELETE NO ACTION

===================================================================================
=====================================

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Check Clause For Examples


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

[{( Definition )}]

CREATE TABLE Viewing(Client_No varchar(50),Vehicle_No varchar(50) CHECK(Vehicle_No


Between 10000 AND 99999),
Date_View date check(Date_View > '1-Mar-2011'),Comment varchar(200));

===================================================================================
=====================================

///////////////////////////////////////////////////////////////////////////////////
////////////////////////
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////
///////////////////////////////////////////////////////////////////////////////////
////////////////////////
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////

***********************************************| { DATA DEFINITION LANGUAGE } |


*************************************************

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ATTRIBUTES ADD


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Alter table EMPLOYEE ADD (ZXC NUMBER(10));

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ATTRIBUTES MODIFIES


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Alter table EMPLOYEE Modify (ZXC varchar(10));

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ATTRIBUTES DROP/DELETE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Alter table EMPLOYEE drop (ZXC);

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RENAME OF ATTRIBUTE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Alter table EMPLOYEE RENAME COLUMN MANAGER to MNG;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RENAME OF TABLE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Rename EMPLOYEE to EMPL ;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ALL DROP/DELETE DATA FROM TABLE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Truncate table EMPLOYEE;

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DROP/DELETE TABLE FROM DATABASE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DROP TABLE EMPLOYEE ;

///////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////
===================================================================================
=====================================
===================================================================================
=====================================
===================================================================================
=====================================
///////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ASSIGNMENT No 1 DATABASE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

===================================================================================
========================

For Create Table & Its Attributes:


create table EMP_a(EMPID number(4),EMPNAME varchar(30),JOB varchar(30),MGR
varchar(30),HIREDATE date,SAL number(8),COMM number(8),DEPTNO number(4));

===================================================================================
========================
===================================================================================
========================

For Insert Data in Table:


insert into EMP_a values(1122,'Zaid','Ceo','None','12-march-2018',45000,0,9982);
insert into EMP_a values(1123,'Zaid','Ceo','None','12-march-2018',45000,0,9982);
insert into EMP_a values(1124,'hassan','Ceo','None','12-march-2018',45000,0,9982);
insert into EMP_a values(1125,'usman','Ceo','None','12-march-2018',45000,0,9982);
===================================================================================
========================
===================================================================================
========================

For Show Any Row/Record of Data from Table:


select *from (TableName) where (AttributeName) = (Data);
For Example:
select *from EMP_a where EMPID = 1122;
===================================================================================
========================
===================================================================================
========================

For Show Not Doublicate Data List:


select distinct *from (TableName);
For Example:
select distinct *from EMP_a;
-----------------------------------------------------------------------------------
------------------------

For Show Not Doublicate Data List:


select distinct (AttributeName) from (TableName);
For Example:
select distinct comm from EMP_a;
===================================================================================
========================
===================================================================================
========================

For Show Any Attribute List from Table:


select (AttributeName),(AttributeName),.....,(AttributeName) from (TableName);
For Example:
select EMPID,EMPNAME,COMM from EMP_a;
===================================================================================
========================
===================================================================================
========================

For Show All List By Order:


select *from (TableName) ORDER BY (AttributeName);
For Example:
select *from EMP_a order by job;
-----------------------------------------------------------------------------------
------------------------

For Show Two Attibutes List By Order:


select (AttributeName),(AttributeName) from (TableName) ORDER BY (AttributeName),
(AttributeName);
For Example:
select EMPNAME,JOB from EMP_a order by JOB,EMPNAME;
===================================================================================
========================
===================================================================================
========================

update (TableName) Set (AttributeName) = (New_Data) where primary


key{(AttributeName) = (Data);
For Example:
update EMP_a set job='x' where empid=1122;
===================================================================================
========================
===================================================================================
========================

For Show All Data List:


select *from EMP_a;
===================================================================================
========================
===================================================================================
========================

///////////////////////////////////////////////////////////////////////////////////
////////////////////////
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ASSIGNMENT No 2 DATABASE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

create table EMPLOYEE(EMP_ID number(10) primary key,EMP_NAME varchar(20),JOB


varchar(20),MANAGER varchar(20),HIREDATE date,SALARY number(10),COMMISION
number(10),DEPTNO number(4));

select * from EMPLOYEE;

insert into EMPLOYEE values(3,'Anees','Manager',2344,'30-mar-2017',1500,2330,1922);


insert into EMPLOYEE values(4,'salman','Manager',2343,'30-mar-
2017',1500,2040,1822);
insert into EMPLOYEE values(5,'Rrehan','Manager',2342,'30-mar-
2017',15000,2500,1722);
insert into EMPLOYEE values(6,'hafeez','Manager',2341,'30-mar-
2017',150000,2060,1622);
insert into EMPLOYEE values(7,'Mubshir','Manager',2346,'30-mar-
2017',1500,2070,1422);
insert into EMPLOYEE values(8,'haris','salesman',2346,'30-mar-
2017',1520,2070,1422);
insert into EMPLOYEE values(9,'salman','Clerk',2343,'30-mar-2017',1500,2040,1822);
insert into EMPLOYEE values(10,'Rrehan','Clerk',2342,'30-mar-
2017',15000,2500,1722);

Query No 1:

select EMP_NAME,SALARY*12 AS Annual_SALARY,COMMISION from EMPLOYEE;

Query No 2:

select EMP_NAME,SALARY from EMPLOYEE where job in('manager','salesman') or SALARY


> 1500;

Query No 3:

select *from EMPLOYEE where salary not between 1000 and 2000 ;

Query No 4:

select * from EMPLOYEE where EMP_NAME like '_r%';

Query No 5:

select count(COMMISION) AS Total_COMM from EMPLOYEE;


update EMPLOYEE set COMMISION = NULL where EMP_ID = 1;

Query No 6:

select MIN(SALARY) AS MIN_SALARY from EMPLOYEE where job in('Clerk');


select AVG(SALARY) AS Total_AVG_SALARY from EMPLOYEE;

///////////////////////////////////////////////////////////////////////////////////
////////////////////////
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ASSIGNMENT No 3 DATABASE


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CREATE TABLE Customer(Cust_id number(5),Customer_Name varchar(20),Address


varchar(60), Region varchar(30),Phone number(12));
INSERT INTO Customer VALUES(1,'City Cyclist','7464south kings','ML',03037815242);
INSERT INTO Customer VALUES(2,'Pathfinders','410eight avenue','IL',03432042546);
INSERT INTO Customer VALUES(3,'Bike','7429 arbutus','OH',0312456789);
INSERT INTO Customer VALUES(4,'Psycho','7979 scott road','AI',0123456789);
INSERT INTO Customer VALUES(5,'Poser','2434 grant way','CA',02456789123);

CREATE TABLE Product(Product_id number(4),Product_Name varchar(40),Price


number(10),Cust_id number(5));

INSERT INTO Product VALUES(1101,'Outdoor',140,1);


INSERT INTO Product VALUES(1102,'Helmet',200,1);
INSERT INTO Product VALUES(1103,'Glove',300,2);
INSERT INTO Product VALUES(1104,'Ball',400,3);
INSERT INTO Product VALUES(1105,'Hocky',200,4);

SELECT *FROM Customer;


SELECT *FROM Product;

Part no.(a)
Alter Table Customer ADD primary key (Cust_id);

Part no.(b)
ALTER TABLE Product MODIFY(Price number(10)CHECK(Price > 100),CHECK(Price < 700));

Part no.(c)
ALTER TABLE Product ADD PRIMARY KEY (Product_id,Cust_id);

Part no.(d)
ALTER TABLE Customer ADD(City varchar(30));

Part no.(e)
ALTER TABLE Customer DROP COLUMN Region;

Part no.(f)
SELECT * FROM Product
WHERE Product_Name LIKE 'HE%';

Part no.(g)
SELECT * FROM Product
WHERE (Product_id NOT IN(1102,1103)) AND (Price between 100 AND 500);

Part no.(h)
ALTER TABLE Customer MODIFY(Customer_Name varchar(40));

Part no.(i)

(1)SELECT Price + (Price * (15 / 100)) AS Price_15Percent_Increase FROM Product;

(2)UPDATE Product SET Price = (Price+(Price*(15/100)));

Part no.(j)
TRUNCATE TABLE Product;
///////////////////////////////////////////////////////////////////////////////////
////////////////////////
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
===================================================================================
========================
///////////////////////////////////////////////////////////////////////////////////
////////////////////////

Вам также может понравиться