Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 44 additions & 26 deletions cross.sql
Original file line number Diff line number Diff line change
@@ -1,31 +1,49 @@
CREATE TABLE employees (
emp_id INT,
emp_name VARCHAR(50),
dept_id INT
);
-- ===============================
-- CREATE TABLES WITH PRIMARY KEYS
-- ===============================
DROP TABLE IF EXISTS employees;
DROP TABLE IF EXISTS departments;

CREATE TABLE departments (
dept_id INT,
dept_name VARCHAR(50)
dept_id INT PRIMARY KEY,
dept_name VARCHAR(50) NOT NULL
);

-- Inserting sample data
INSERT INTO employees VALUES (1, 'John Doe', 101);
INSERT INTO employees VALUES (2, 'Jane Smith', 102);

INSERT INTO departments VALUES (101, 'Human Resources');
INSERT INTO departments VALUES (102, 'Marketing');



SELECT * from employees;
SELECT * from departments;

-- CROSS JOIN
SELECT * FROM employees
CROSS JOIN departments;

-- NATURAL JOIN
SELECT * FROM employees
NATURAL JOIN departments;
CREATE TABLE employees (
emp_id INT PRIMARY KEY,
emp_name VARCHAR(50) NOT NULL,
dept_id INT NOT NULL,
FOREIGN KEY (dept_id) REFERENCES departments(dept_id)
);

-- ===============================
-- INSERT SAMPLE DATA
-- ===============================
INSERT INTO departments (dept_id, dept_name) VALUES
(101, 'Human Resources'),
(102, 'Marketing');

INSERT INTO employees (emp_id, emp_name, dept_id) VALUES
(1, 'John Doe', 101),
(2, 'Jane Smith', 102);

-- ===============================
-- SIMPLE SELECT QUERIES
-- ===============================
SELECT * FROM employees;
SELECT * FROM departments;

-- ===============================
-- CROSS JOIN (Cartesian Product)
-- ===============================
SELECT e.emp_id, e.emp_name, d.dept_id, d.dept_name
FROM employees e
CROSS JOIN departments d;

-- ===============================
-- INNER JOIN USING dept_id
-- ===============================
SELECT e.emp_id, e.emp_name, d.dept_id, d.dept_name
FROM employees e
INNER JOIN departments d
ON e.dept_id = d.dept_id;