Oracle Database Cheat Codes
Oracle Cheat Codes for SGA/PGA memory, PL/SQL, flashback queries, and enterprise tuning. 20 essential cheat codes ready to copy and execute.
Retrieve columns from Oracle table.
SELECT col1, col2 FROM tbl; SELECT employee_id, last_name FROM employees; Filter row results.
SELECT * FROM tbl WHERE col = val; SELECT * FROM employees WHERE department_id = 10; Match records across joined tables.
SELECT * FROM t1 JOIN t2 ON t1.id = t2.fk; SELECT e.last_name, d.department_name FROM employees e JOIN departments d ON e.department_id = d.department_id; Group rows for calculation.
SELECT col, COUNT(*) FROM tbl GROUP BY col; SELECT department_id, COUNT(*) FROM employees GROUP BY department_id; Filter aggregated group calculations.
SELECT col, AVG(sal) FROM tbl GROUP BY col HAVING AVG(sal) > 5000; SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING AVG(salary) > 8000; Add new row into Oracle table.
INSERT INTO tbl (col) VALUES (val); INSERT INTO departments (department_id, department_name) VALUES (90, 'Executive'); Modify column values.
UPDATE tbl SET col = val WHERE condition; UPDATE employees SET salary = salary * 1.10 WHERE department_id = 20; Remove records matching filter.
DELETE FROM tbl WHERE condition; DELETE FROM job_history WHERE end_date < '2020-01-01'; ANSI standard MERGE upsert statement.
MERGE INTO target t USING source s ON (t.id = s.id) WHEN MATCHED THEN UPDATE SET t.val = s.val WHEN NOT MATCHED THEN INSERT (id, val) VALUES (s.id, s.val); MERGE INTO emp_target t USING emp_stage s ON (t.emp_id = s.emp_id) WHEN MATCHED THEN UPDATE SET t.sal = s.sal WHEN NOT MATCHED THEN INSERT (emp_id, sal) VALUES (s.emp_id, s.sal); Replace NULL values with default fallback.
SELECT NVL(col, default_val) FROM tbl; SELECT last_name, NVL(commission_pct, 0) FROM employees; Standard ANSI pagination syntax in Oracle 12c+.
SELECT * FROM tbl ORDER BY col DESC FETCH FIRST n ROWS ONLY; SELECT * FROM employees ORDER BY salary DESC FETCH FIRST 10 ROWS ONLY; Concatenate string values across rows.
SELECT LISTAGG(col, '; ') WITHIN GROUP (ORDER BY col) FROM tbl GROUP BY grp; SELECT department_id, LISTAGG(last_name, ', ') WITHIN GROUP (ORDER BY last_name) FROM employees GROUP BY department_id; Legacy pseudo-column row limiter.
SELECT * FROM tbl WHERE ROWNUM <= n; SELECT * FROM employees WHERE ROWNUM <= 5; Traverse parent-child org hierarchies.
SELECT LEVEL, col FROM tbl START WITH parent IS NULL CONNECT BY PRIOR id = parent; SELECT LEVEL, employee_id, last_name FROM employees START WITH manager_id IS NULL CONNECT BY PRIOR employee_id = manager_id; Build sequence object for auto keys.
CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1; CREATE SEQUENCE emp_seq START WITH 1000 INCREMENT BY 1; Fetch next unique value from sequence.
SELECT seq_name.NEXTVAL FROM dual; INSERT INTO employees (id, name) VALUES (emp_seq.NEXTVAL, 'Alex'); Query past historical data state.
SELECT * FROM tbl AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE); SELECT * FROM employees AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '15' MINUTE); Transform rows into reporting columns.
SELECT * FROM (SELECT grp, col, val FROM tbl) PIVOT (SUM(val) FOR col IN ('A', 'B')); SELECT * FROM (SELECT department_id, salary FROM employees) PIVOT (SUM(salary) FOR department_id IN (10, 20, 30)); Create pre-computed query snapshot view.
CREATE MATERIALIZED VIEW mv_name AS SELECT ...; CREATE MATERIALIZED VIEW dept_summary AS SELECT department_id, COUNT(*) cnt FROM employees GROUP BY department_id; Generate optimizer plan into plan_table.
EXPLAIN PLAN FOR SELECT * FROM tbl WHERE col = val; EXPLAIN PLAN FOR SELECT * FROM employees WHERE department_id = 50; No cheat codes found matching your search term.