CREATE TABLE Employees (
    EmployeeID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Department VARCHAR(50),
    Salary DECIMAL(10,2),
    HireDate DATE
);

INSERT INTO Employees (EmployeeID, FirstName, LastName, Department, Salary, HireDate) VALUES
(1, 'Alice',   'Johnson', 'IT',       60000, '2021-05-10'),
(2, 'Bob',     'Smith',   'HR',       45000, '2020-03-12'),
(3, 'Charlie', 'Brown',   'Finance',  70000, '2019-07-19'),
(4, 'Diana',   'Evans',   'IT',       65000, '2022-01-22'),
(5, 'Ethan',   'Clark',   'Finance',  72000, '2018-09-05'),
(6, 'Fiona',   'Davis',   'HR',       48000, '2021-11-15'),
(7, 'George',  'Wilson',  'IT',       58000, '2023-02-28');

-- COUNT(*) → counts all rows.
-- COUNT(column) → counts rows where that column is NOT NULL.
SELECT * FROM Employees;

-- This query shows each employee salary in descending order
SELECT firstname, salary FROM Employees
ORDER BY salary DESC;

-- This query shows employees count per department
SELECT Department, COUNT(*) AS EmployeeCount FROM Employees
GROUP BY Department;

-- This query shows total salary budget per department
SELECT Department, SUM(Salary) AS BugetSpending FROM Employees
GROUP BY Department;

-- This query shows about the department have min buget 
SElECT Department, SUM(Salary) AS TotalBuget FROM Employees
GROUP BY Department 
HAVING SUM(Salary) < 100000;

-- This query shows about returning only unique values
SELECT DISTINCT Department
FROM Employees;