Constraints: Create KEY Name NOT Default
Constraints: Create KEY Name NOT Default
UPDATE student
SET major = 'Undecided';
UPDATE student
SET name = 'Johnny'
WHERE student_id = 4;
UPDATE student
SET major = 'Biological Sciences'
WHERE major = 'Biology';
UPDATE student
SET major = 'Biosociology'
WHERE major = 'Biology' OR major = 'sociology'
UPDATE student
SET major = 'Undecided', name = 'Tom'
WHERE student_id = 4;
Basic Queries
SELECT *
FROM student;
SELECT *
FROM student
WHERE name = 'Jack';
SELECT *
FROM student
WHERE student_id > 2;
SELECT *
FROM student
WHERE major = 'Biology' AND student_id > 1;
Creating Company Database
--
---------------------------------------------------------
--------------------
-- Corporate
INSERT INTO employee VALUES(100, 'David', 'Wallace',
'1967-11-17', 'M', 250000, NULL, NULL);
UPDATE employee
SET branch_id = 1
WHERE emp_id = 100;
-- Scranton
INSERT INTO employee VALUES(102, 'Michael', 'Scott',
'1964-03-15', 'M', 75000, 100, NULL);
UPDATE employee
SET branch_id = 2
WHERE emp_id = 102;
-- Stamford
INSERT INTO employee VALUES(106, 'Josh', 'Porter', '1969-
09-05', 'M', 78000, 100, NULL);
UPDATE employee
SET branch_id = 3
WHERE emp_id = 106;
-- BRANCH SUPPLIER
INSERT INTO branch_supplier VALUES(2, 'Hammer Mill',
'Paper');
INSERT INTO branch_supplier VALUES(2, 'Uni-ball',
'Writing Utensils');
INSERT INTO branch_supplier VALUES(3, 'Patriot Paper',
'Paper');
INSERT INTO branch_supplier VALUES(2, 'J.T. Forms &
Labels', 'Custom Forms');
INSERT INTO branch_supplier VALUES(3, 'Uni-ball',
'Writing Utensils');
INSERT INTO branch_supplier VALUES(3, 'Hammer Mill',
'Paper');
INSERT INTO branch_supplier VALUES(3, 'Stamford Lables',
'Custom Forms');
-- CLIENT
INSERT INTO client VALUES(400, 'Dunmore Highschool', 2);
INSERT INTO client VALUES(401, 'Lackawana Country', 2);
INSERT INTO client VALUES(402, 'FedEx', 3);
INSERT INTO client VALUES(403, 'John Daly Law, LLC', 3);
INSERT INTO client VALUES(404, 'Scranton Whitepages', 2);
INSERT INTO client VALUES(405, 'Times Newspaper', 3);
INSERT INTO client VALUES(406, 'FedEx', 2);
-- WORKS_WITH
INSERT INTO works_with VALUES(105, 400, 55000);
INSERT INTO works_with VALUES(102, 401, 267000);
INSERT INTO works_with VALUES(108, 402, 22500);
INSERT INTO works_with VALUES(107, 403, 5000);
INSERT INTO works_with VALUES(108, 403, 12000);
INSERT INTO works_with VALUES(105, 404, 33000);
INSERT INTO works_with VALUES(107, 405, 26000);
INSERT INTO works_with VALUES(102, 406, 15000);
INSERT INTO works_with VALUES(105, 406, 130000);
-- Find all employee's id's and names who were born after
1969
SELECT emp_id, first_name, last_name
FROM employee
WHERE birth_day >= 1970-01-01;
-- Find all employees who are female & born after 1969 or
who make over 80000
SELECT *
FROM employee
WHERE (birth_day >= '1970-01-01' AND sex = 'F') OR salary
> 80000;
Functions
-- Find the number of employees
SELECT COUNT(super_id)
FROM employee;
Wildcards
-- % = any # characters, _ = one character
SELECT *
FROM client
SELECT *
FROM branch_supplier
SELECT *
FROM employee
SELECT *
FROM client
Union
-- Find a list of employee and branch names
FROM employee
UNION
SELECT branch.branch_name
FROM branch;
FROM client
UNION
SELECT branch_supplier.supplier_name,
branch_supplier.branch_id
FROM branch_supplier;
Joins
-- Add the extra branch
FROM employee
ON employee.emp_id = branch.mgr_id;
Nested Queries
-- Find names of all employees who have sold over 50,000
SELECT employee.first_name, employee.last_name
FROM employee
WHERE employee.emp_id IN (SELECT works_with.emp_id
FROM works_with
WHERE works_with.total_sales >
50000);
-- Find the names of all clients who have spent more than
100,000 dollars
SELECT client.client_name
FROM client
WHERE client.client_id IN (
SELECT client_id
FROM (
SELECT
SUM(works_with.total_sales) AS totals, client_id
FROM works_with
GROUP BY client_id) AS
total_client_sales
WHERE totals > 100000
);
Triggers
-- CREATE
-- ON `database`.`table`
-- -- trigger body
-- -- inserted/updated/deleted row
-- END;
message VARCHAR(100)
);
DELIMITER $$
CREATE
ON employee
END$$
DELIMITER ;
DELIMITER $$
CREATE
ON employee
END$$
DELIMITER ;
CREATE
ON employee
ELSE
END IF;
END$$
DELIMITER ;