You are on page 1of 9

CREATE TABLE CUSTOMERS(

ID INT,
NAME VARCHAR (20),
AGE INT,
ADDRESS CHAR (25) ,
SALARY INT
);

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)


VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)


VALUES (2, 'Khilan', 25, 'Delhi', 1500 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)


VALUES (3, 'kaushik', 23, 'Kota', 2000 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)


VALUES (4, 'Chaitali', 25, 'Mumbai', 6500 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)


VALUES (5, 'Hardik', 27, 'Bhopal', 8500 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)


VALUES (6, 'Komal', 22, 'MP', 4500 );
INSERT INTO CUSTOMERS
VALUES (7, 'Muffy', 24, 'Indore', 10000 );
How to Insert Multiple Rows:

INSERT ALL

INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000 )

INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Khilan', 25, 'Delhi', 1500 )

INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'kaushik', 23, 'Kota', 2000 )

SELECT * FROM dual;

OR

INSERT INTO table1 (First, Last)


VALUES
('Fred', 'Smith'),
('John', 'Smith'),
('Michael', 'Smith'),
('Robert', 'Smith');

CREATE TABLE CUSTOMERS(


C_ ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY int ,
PRIMARY KEY (C_ID)
);

Table 1: Customers

C_ID NAME AGE ADDRESS SALARY


1 Ramesh 32 Ahemedabad 1,100
2 Khilan 25 Delhi 1500
3 Kaushik 23 Kota 2000
4 Chaitali 25 Mumbai 6500
5 Hardik 27 Bhopal 8500
6 Komal 22 MP 4500
7 Muffy 24 Indore 10000
8
9
10
Pagination: 1,2,3

Table 2: ORDERS:

OrderID OrderDate CustomerID Amount


102 2009-10-08 3 3000
100 2009-10-08 5 1500
101 2009-11-20 2 1560
103 2009-05-20 4 2060

Expected output: C_ID, NAME, AMOUNT, OrderDate

SQL Query:

SELECT Customers.C_ID, Customers.Name, Orders.Amount, Orders.OrderDate


FROM Customers
LEFT JOIN Orders
ON Customers.C_ID=Orders.CustomerID;

Output:

C_ID Name Amount OrderDate


1 Ramesh NULL NULL
2 Khilan 1560 2009-11-20
3 Kaushik 3000 2009-10-08
4 Chaitali 2060 2009-05-20
C_ID Name Amount OrderDate
1 Kaushik 3000 2009-10-08
2 Khilan 1560 2009-11-20
3 Chaitali 2060 2009-05-20
5 Hardik 1500 2009-10-08
6 Komal NULL NULL
7 Muffy NULL NULL
8
LEFT JOIN:

Expected output: C_ID, NAME, AMOUNT, OrderDate


SQL Query:SELECT Customers.C_ID, Customers.Name, Orders.Amount, Orders.OrderDate
FROM Customers
LEFT JOIN Orders
ON Customers.C_ID=Orders.CustomerID;

CREATE TABLE ORDERS (


OrderID int NOT NULL,
OrderDate DATE,
CustomerID int,
Amount int,
PRIMARY KEY (CustomerID),
FOREIGN KEY (CustomerID) REFERENCES CUSTOMERS(C_ID)
);
INSERT INTO ORDERS (OrderID,OrderDate,CustomerID,Amount)
VALUES (102, '08-OCT-2009', 3, 3000 );

INSERT INTO ORDERS (OrderID,OrderDate,CustomerID,Amount)


VALUES (100, '08-OCT-2009', 8, 1500 );
INSERT INTO ORDERS (OrderID,OrderDate,CustomerID,Amount)
VALUES (101, '20-NOV-2009', 2, 1500 );
INSERT INTO ORDERS (OrderID,OrderDate,CustomerID,Amount)
VALUES (103, '20-MAY-2009', 4, 2…
CREATE TABLE ORDERS (
OrderID int NOT NULL,
OrderDate DATE,
CustomerID int,
Amount int,
PRIMARY KEY (CustomerID),
FOREIGN KEY (CustomerID) REFERENCES CUSTOMERS(ID)
);
INSERT INTO ORDERS (OrderID,OrderDate,CustomerID,Amount)
VALUES (102, '08-OCT-2009', 3, 3000 );
INSERT INTO ORDERS (OrderID,OrderDate,CustomerID,Amount)
VALUES (100, '08-OCT-2009', 8, 1500 );
INSERT INTO ORDERS (OrderID,OrderDate,CustomerID,Amount)
VALUES (101, '20-NOV-2009', 2, 1560 );
INSERT INTO ORDERS (OrderID,OrderDate,CustomerID,Amount)
VALUES (103, '20-MAY-2009', 4, 2060 );

Select ID,NAME,AMOUNT,OrderDate
FROM CUSTOMERS
INNER JOIN ORDERS
ON CUSTOMERS.ID=ORDERS.CustomerID;

VCTC:

CREATE TABLE VCTC(


Fname varchar(255),
Lname varchar(255),
Gender Varchar(255),
Mockresult INT ,
Location Varchar(255)
);

INSERT INTO VCTC (Fname, Lname,Gender,Mockresult,Location)


VALUES ('Aditya','Patki','M',7, 'Nagpur' );

INSERT INTO VCTC (Fname, Lname,Gender,Mockresult,Location)


VALUES ('Atish','Jain','M',8, 'Nagpur' );

INSERT INTO VCTC (Fname, Lname,Gender,Mockresult,Location)


VALUES ('Deepa','Roy','F',7, 'Pune' );

INSERT INTO VCTC (Fname, Lname,Gender,Mockresult,Location)


VALUES ('Jason','Borges','M',7, 'Bider' );

INSERT INTO VCTC (Fname, Lname,Gender,Mockresult,Location)


VALUES ('Neha','Bendre','F',8, 'Pune' );

INSERT INTO VCTC (Fname, Lname,Gender,Mockresult,Location)


VALUES ('Neha','Joshi','F',9, 'Pune' );
INSERT INTO VCTC (Fname, Lname,Gender,Mockresult,Location)
VALUES ('Pooja','Patil','F',8, 'Goa' );

UNION and UNION ALL:

CREATE TABLE facebook(


Name varchar(255),
Location Varchar(255)
);
INSERT INTO facebook(Name,Location)
VALUES ('Alex','San Fransisco');
INSERT INTO facebook(Name,Location)
VALUES ('Matt','San Fransisco');
INSERT INTO facebook(Name,Location)
VALUES ('Zeke','Los Angeles');
Linkidin:
CREATE TABLE linkedin(
Name varchar(255),
Location Varchar(255)
);
INSERT INTO linkedin(Name,Location)
VALUES ('Matt','San Fransisco');
INSERT INTO linkedin(Name,Location)
VALUES ('Rubby','San Fransisco');
INSERT INTO linkedin(Name,Location)
VALUES ('Zeke','Los Angeles');
select * from linkedin;
UNION:
select * from facebook
UNION
select * from linkedin;

select Name from facebook


UNION
select Name from linkedin;
UNION ALL:
select Name from facebook
UNION ALL
select Name from linkedin;

Group By and Having:


CREATE TABLE Employee(
EmployeeID INT,
Ename VARCHAR (20),
DeptID INT,
SALARY INT
);

INSERT INTO Employee(EmployeeID,Ename,DeptID ,SALARY)


VALUES (1001, 'John', 2,4000 );

INSERT INTO Employee(EmployeeID,Ename,DeptID ,SALARY)


VALUES (1002, 'Anna', 1,3500 );
INSERT INTO Employee(EmployeeID,Ename,DeptID ,SALARY)
VALUES (1003, 'James', 1,2500 );

INSERT INTO Employee(EmployeeID,Ename,DeptID ,SALARY)


VALUES (1004, 'David', 2,5000 );

INSERT INTO Employee(EmployeeID,Ename,DeptID ,SALARY)


VALUES (1005, 'Mark', 2,3000 );

INSERT INTO Employee(EmployeeID,Ename,DeptID ,SALARY)


VALUES (1006, 'Steve', 3,4500 );

INSERT INTO Employee(EmployeeID,Ename,DeptID ,SALARY)


VALUES (1007, 'Alice', 3,3500 );

CREATE TABLE Emp(


EmployeeID INT,
Ename VARCHAR (20),
Dept INT,
SALARY INT
);

INSERT INTO Emp(EmployeeID,Ename,Dept ,SALARY)


VALUES (1, 'John', ‘HR’,10000 );

INSERT INTO Employee(EmployeeID,Ename,Dept ,SALARY)


VALUES (2, 'Anna', ‘MRKT’,20000 );

INSERT INTO Employee(EmployeeID,Ename,Dept ,SALARY)


VALUES (3, 'David', ‘HR’,30000 );

INSERT INTO Employee(EmployeeID,Ename,Dept ,SALARY)


VALUES (4, 'Mark',’MRKT’,40000 );

INSERT INTO Employee(EmployeeID,Ename,Dept ,SALARY)


VALUES (5, 'Steve',’IT’,50000 );

SELF JOIN:
Create table Employee(
EmployeeID int,
Name varchar(255),
ManagerID int
);
Insert into Employee(EmployeeID,Name,ManagerID)
Values(1,'Mike',3);
Insert into Employee(EmployeeID,Name,ManagerID)
Values(2,'David',3);
Insert into Employee(EmployeeID,Name)
Values(3,'Roger');
Insert into Employee(EmployeeID,Name,ManagerID)
Values(4,'Marry',2);
Insert into Employee(EmployeeID,Name,ManagerID)
Values(5,'Joseph',2);
Insert into Employee(EmployeeID,Name,ManagerID)
Values(7,'Ben',2);

select * from Employee;

Select e1.Name "Employee_name",e2.name "Manager_Name"


FROM Employee e1
INNER JOIN Employee e2
ON e1.ManagerID=e2.EmployeeID;

Select e.Name "Employee_name",


m.Name "Manager_Name"
FROM Employee E, Employee M
Where e.ManagerID=m.EmployeeID;

Nth highest Salary:

Use the following script to create Employees table

Create table Employees

(ID int ,

FirstName varchar(50),

LastName varchar(50),

Gender varchar(50),

Salary int

);

Insert into Employees Values(1,'Ben','Hoskins','Male',70000);


Insert into Employees values(2,'Mark','Hastings','Male',60000);

Insert into Employees values(3,'Steve','Pound','Male',45000);

Insert into Employees values(4,'Ben','Hoskins','Male',70000);

Insert into Employees values(5,'Philip','Hastings','Male',45000);

Insert into Employees values(6,'Mary','Lambeth','Female',30000);

Insert into Employees values(7,'Valarie','Vikings','Female',35000);

Insert into Employees values(8,'John','Stanmore','Male',80000);

BEGIN TRANSACTION;

/* Create a table called NAMES */

Create table Employees

(ID int ,

FirstName varchar(50),

LastName varchar(50),

Gender varchar(50),

Salary int

);

/* Create few records in this table */

Insert into Employees Values(1,'Ben','Hoskins','Male',70000);

Insert into Employees values(2,'Mark','Hastings','Male',60000);

Insert into Employees values(3,'Steve','Pound','Male',45000);

Insert into Employees values(4,'Ben','Hoskins','Male',70000);

Insert into Employees values(5,'Philip','Hastings','Male',45000);

Insert into Employees values(6,'Mary','Lambeth','Female',30000);

Insert into Employees values(7,'Valarie','Vikings','Female',35000);

Insert into Employees values(8,'John','Stanmore','Male',80000);COMMIT;

/* Display all the records from the table */


SELECT * FROM Employees;

To find the highest salary it is straight forward. We can simply use the Max() function as
shown below.

Select Max(Salary) from Employees;

To get the second highest salary use a sub query along with Max() function as shown


below.

Select Max(Salary) from Employees where Salary < (Select Max(Salary) from Employees);

To find nth highest salary using Sub-Query:

SELECT TOP 1 SALARY
FROM (
      SELECT DISTINCT TOP N SALARY
      FROM EMPLOYEES
      ORDER BY SALARY DESC
      ) RESULT
ORDER BY SALARY

You might also like