SQL Cheat Sheet
| EMPLOYEE | DEPARTMENT | |||
|---|---|---|---|---|
| ID | NAME | ID | NAME | |
| 1 | aman | 0 | DE | |
| 2 | pihu | 1 | HR | |
| 3 | rajeev | 2 | HR | |
| 4 | monika | 4 | HR | |
| 5 | prabhat | 5 | DS | |
| 6 | chaman | 6 | DE | |
| 7 | ECE | |||
CREATE TABLE EMPLOYEE( id INT, name VARCHAR(25) );
INSERT INTO EMPLOYEE(id, name) VALUES(1, 'aman');
INSERT INTO EMPLOYEE(id, name) VALUES(2, 'pihu');
INSERT INTO EMPLOYEE(id, name) VALUES(3, 'rajeev');
INSERT INTO EMPLOYEE(id, name) VALUES(4, 'monika');
INSERT INTO EMPLOYEE(id, name) VALUES(5, 'prabhat');
INSERT INTO EMPLOYEE(id, name) VALUES(6, 'chaman');
CREATE TABLE DEPARTMENT( id INT, name varchar(5) );
INSERT INTO DEPARTMENT(id, name) VALUES(0, 'DE');
INSERT INTO DEPARTMENT(id, name) VALUES(1, 'HR');
INSERT INTO DEPARTMENT(id, name) VALUES(2, 'HR');
INSERT INTO DEPARTMENT(id, name) VALUES(4, 'HR');
INSERT INTO DEPARTMENT(id, name) VALUES(5, 'DS');
INSERT INTO DEPARTMENT(id, name) VALUES(6, 'DE');
INSERT INTO DEPARTMENT(id, name) VALUES(7, 'ECE');
SELECT * FROM EMPLOYEE e JOIN DEPARTMENT d ON e.id = d.id;
-- ID NAME ID NAME
-- 1 aman 1 HR
-- 2 pihu 2 HR
-- 4 monika 4 HR
-- 5 prabhat 5 DS
-- 6 chaman 6 DE
SELECT * FROM EMPLOYEE e LEFT JOIN DEPARTMENT d ON e.id = d.id;
-- ID NAME ID NAME
-- 1 aman 1 HR
-- 2 pihu 2 HR
-- 4 monika 4 HR
-- 5 prabhat 5 DS
-- 6 chaman 6 DE
-- 3 rajeev - -
SELECT * FROM DEPARTMENT d LEFT JOIN EMPLOYEE e ON d.id = e.id;
-- ID NAME ID NAME
-- 1 HR 1 aman
-- 2 HR 2 pihu
-- 4 HR 4 monika
-- 5 DS 5 prabhat
-- 6 DE 6 chaman
-- 7 ECE - -
-- 8 DE - -
SELECT * FROM DEPARTMENT d RIGHT JOIN EMPLOYEE e ON d.id = e.id;
-- ID NAME ID NAME
-- 1 HR 1 aman
-- 2 HR 2 pihu
-- 4 HR 4 monika
-- 5 DS 5 prabhat
-- 6 DE 6 chaman
-- - - 3 rajeev
SELECT * FROM EMPLOYEE d RIGHT JOIN DEPARTMENT e ON d.id = e.id;
-- ID NAME ID NAME
-- 1 aman 1 HR
-- 2 pihu 2 HR
-- 4 monika 4 HR
-- 5 prabhat 5 DS
-- 6 chaman 6 DE
-- - - 7 ECE
-- - - 0 DE
SELECT * FROM EMPLOYEE e FULL JOIN DEPARTMENT d ON e.id = d.id;
-- ID NAME ID NAME
-- - - 0 DE
-- 1 aman 1 HR
-- 2 pihu 2 HR
-- 4 monika 4 HR
-- 5 prabhat 5 DS
-- 6 chaman 6 DE
-- - - 7 ECE
-- 3 rajeev - -
SELECT * FROM EMPLOYEE CROSS JOIN DEPARTMENT;
-- ID NAME ID NAME
-- 1 aman 0 DE
-- 1 aman 1 HR
-- 1 aman 2 HR
-- 1 aman 4 HR
-- 1 aman 5 DS
-- .
-- .
-- .
-- 6 chaman 0 DE
-- 6 chaman 1 HR
-- 6 chaman 2 HR
-- 6 chaman 4 HR
-- 6 chaman 5 DS
-- 6 chaman 6 DE
-- 6 chaman 7 ECE
-- SUBQUERY
SELECT * FROM DEPARTMENT WHERE id NOT IN (SELECT id from EMPLOYEE);
-- ID NAME
-- 7 ECE
-- 0 DE
-- ORDER BY
SELECT * FROM DEPARTMENT ORDER BY NAME, ID DESC;
-- ID NAME
-- 6 DE
-- 0 DE
-- 5 DS
-- 7 ECE
-- 4 HR
-- 2 HR
-- 1 HR
-- GROUP BY
SELECT NAME, SUM(id) as id_sum FROM DEPARTMENT GROUP BY NAME;
-- NAME ID_SUM
-- DS 5
-- HR 7
-- ECE 7
-- DE 6
-- HAVING
SELECT NAME, SUM(id) as id_sum FROM DEPARTMENT GROUP BY NAME HAVING SUM(id) = 5;
-- NAME ID_SUM
-- DS 5
-- UNION
SELECT id from EMPLOYEE UNION SELECT id from DEPARTMENT;
-- ID
-- 0
-- 1
-- 2
-- 3
-- 4
-- 5
-- 6
-- 7
-- UNION ALL
SELECT id from EMPLOYEE UNION ALL SELECT id from DEPARTMENT;
-- ID
-- 1
-- 2
-- 3
-- 4
-- 5
-- 6
-- 0
-- 1
-- 2
-- 4
-- 5
-- 6
-- 7
-- INTERSECT
SELECT id from EMPLOYEE INTERSECT SELECT id FROM DEPARTMENT;
-- ID
-- 1
-- 2
-- 4
-- 5
-- 6
-- MINUS
SELECT id from EMPLOYEE MINUS SELECT id FROM DEPARTMENT;
-- ID
-- 3
SELECT id from DEPARTMENT MINUS SELECT id FROM EMPLOYEE;
-- ID
-- 0
-- 7
-- WILDCARD
SELECT * FROM EMPLOYEE WHERE NAME LIKE '_m__';
-- ID NAME
-- 1 aman
SELECT * FROM EMPLOYEE WHERE NAME LIKE '%man';
-- ID NAME
-- 1 aman
-- 6 chaman
SELECT * FROM EMPLOYEE WHERE NAME LIKE '%r%';
-- ID NAME
-- 3 rajeev
-- 5 prabhat
SELECT * FROM EMPLOYEE WHERE NAME LIKE '%h_';
-- ID NAME
-- 2 pihu
SELECT COUNT(*), SUM(id), AVG(id), MAX(id), MIN(id), ROUND(AVG(id), 0) FROM EMPLOYEE;
-- COUNT(*) SUM(ID) AVG(ID) MAX(ID) MIN(ID) ROUND(AVG(ID),0)
-- 6 21 3.5 6 1 4
SELECT UPPER(NAME) FROM EMPLOYEE LIMIT 2;
-- UPPER(NAME)
-- AMAN
-- PIHU
SELECT DISTINCT(LOWER(NAME)) FROM DEPARTMENT;
-- (LOWER(NAME))
-- ds
-- hr
-- de
-- ece
DROP TABLE EMPLOYEE;
DROP TABLE DEPARTMENT;