0% found this document useful (0 votes)
12 views

SQL Joins(Lab 4)

The document outlines an experiment focused on SQL joins, specifically involving the creation of a database with Customers and Orders tables. It details various SQL join operations such as INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, and SELF JOIN to analyze relationships between the data. Additionally, it includes SQL commands for creating tables, inserting data, and executing join queries to retrieve meaningful information.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

SQL Joins(Lab 4)

The document outlines an experiment focused on SQL joins, specifically involving the creation of a database with Customers and Orders tables. It details various SQL join operations such as INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN, and SELF JOIN to analyze relationships between the data. Additionally, it includes SQL commands for creating tables, inserting data, and executing join queries to retrieve meaningful information.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

EXPERIMENT 4

SQL JOINS
Aim :To design and implement an SQL database with Customers and Orders
tables and perform various SQL join operations, including INNER JOIN, LEFT
JOIN, RIGHT JOIN, FULL OUTER JOIN, SELF JOIN, and multi-table joins,
to retrieve meaningful relationships between data stored in multiple tables.

Create Database and Tables

CREATE DATABASE ShopDB;

USE ShopDB;

-- Customers Table

CREATE TABLE Customers (

CustomerID INT PRIMARY KEY, Name VARCHAR(100), Email


VARCHAR(100), City VARCHAR(50)

);

Desc Customers;

-- Orders Table

CREATE TABLE Orders (

OrderID INT PRIMARY KEY, CustomerID INT,

OrderDate DATE, Amount DECIMAL(10,2),

FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)

);

Desc Orders;
-- Insert Data into Customers Table

INSERT INTO Customers (CustomerID, Name, Email, City) VALUES

(1, 'Alice', '[email protected]', 'New York'),

(2, 'Bob', '[email protected]', 'Los Angeles'),

(3, 'Charlie', '[email protected]', 'Chicago'),

(4, 'David', '[email protected]', 'Houston'),

(5, 'Eve', '[email protected]', 'New York');

Select * from Customers;

-- Insert Data into Orders Table

INSERT INTO Orders (OrderID, CustomerID, OrderDate, Amount) VALUES

(101, 1, '2024-01-15', 250.50),

(102, 2, '2024-02-10', 150.00),

(103, 1, '2024-03-05', 300.75),

(104, 3, '2024-03-15', 100.00);

Select * from Orders;

1. Join Two Tables Based on a Common Column


SELECT Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount
FROM Customers
JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
2. JOIN Multiple Tables (Adding a third table)
CREATE TABLE Payments (
PaymentID INT PRIMARY KEY, OrderID INT,

PaymentDate DATE, AmountPaid DECIMAL(10,2),

FOREIGN KEY (OrderID) REFERENCES Orders(OrderID)

);

INSERT INTO Payments (PaymentID, OrderID, PaymentDate, AmountPaid) VALUES


(1, 101, '2024-01-16', 250.50),
(2, 102, '2024-02-11', 150.00),
(3, 103, '2024-03-06', 300.75);

SELECT Customers.Name, Orders.OrderID,


Payments.PaymentDate, Payments.AmountPaid
FROM Customers
JOIN Orders ON Customers.CustomerID = Orders.CustomerID
JOIN Payments ON Orders.OrderID = Payments.OrderID;

3. Self Join (Finding customers from the same city)


SELECT A.Name AS Customer1, B.Name AS Customer2, A.City
FROM Customers A, Customers B
WHERE A.City = B.City AND A.CustomerID <> B.CustomerID;

4. INNER JOIN (Only matching records)


SELECT Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount
FROM Customers
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
5. LEFT JOIN (All customers and matching orders, if any)
SELECT Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

6. RIGHT JOIN (All orders and their customers, if any)


SELECT Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount
FROM Customers
RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

7. FULL OUTER JOIN (All customers and all orders)


SELECT Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
UNION
SELECT Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount
FROM Customers
RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

8. SQL JOIN With AS Alias


SELECT C.Name, O.OrderID, O.OrderDate, O.Amount
FROM Customers AS C
JOIN Orders AS O ON C.CustomerID = O.CustomerID;

9. JOIN With WHERE Clause (Orders above $200)


SELECT Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount
FROM Customers
JOIN Orders ON Customers.CustomerID = Orders.CustomerID
WHERE Orders.Amount > 200;

You might also like