(MYSQL Advanced) (CheatSheet)
(MYSQL Advanced) (CheatSheet)
(MYSQL Advanced) (CheatSheet)
● Join with USING clause: SELECT * FROM table1 JOIN table2 USING
(common_column);
● Anti Join (not in): SELECT * FROM table1 LEFT JOIN table2 ON
table1.column = table2.column WHERE table2.column IS NULL;
● Semi Join (exists): SELECT * FROM table1 WHERE EXISTS (SELECT 1 FROM
table2 WHERE table1.column = table2.column);
● Intersect using INNER JOIN: SELECT table1.column FROM table1 INNER JOIN
table2 ON table1.column = table2.column;
● Except using LEFT JOIN: SELECT table1.column FROM table1 LEFT JOIN table2
ON table1.column = table2.column WHERE table2.column IS NULL;
● Use index hints: SELECT * FROM tablename USE INDEX (index_name) WHERE
column = 'value';
● Create a stored procedure: CREATE PROCEDURE proc_name (IN param1 INT, OUT
param2 VARCHAR(100)) BEGIN SELECT column INTO param2 FROM tablename WHERE
id = param1; END;
● Call a stored procedure: CALL proc_name(1, @output); SELECT @output;
● Create a stored function: CREATE FUNCTION func_name (param1 INT) RETURNS
VARCHAR(100) BEGIN RETURN (SELECT column FROM tablename WHERE id =
param1); END;
● Change user host: UPDATE mysql.user SET host = 'new_host' WHERE user =
'username' AND host = 'old_host'; FLUSH PRIVILEGES;
● Disable a user account: ALTER USER 'username'@'host' ACCOUNT LOCK;
● Enable a user account: ALTER USER 'username'@'host' ACCOUNT UNLOCK;