do it with sql
TRANSCRIPT
DO IT WITH SQLPHP Indenesia Meetup 201404
ABOUT ME
Editor PojokProgrammer.net Writers Welcome!
CEO BiruniLabs Trainers Welcome!
WHAT YOU NEED Laptop or Computer RDBMS Installed
MySQL PostgreSQL Oracle Whatever....
SQL Interface HeidiSQL SQLyog phpMyAdmin Whatever.....
Your Brain
BRAIN GYM
ARE YOU READY ?
HISTORY
IBM Research for System R SEQUEL Relational Software Inc. developed their
own version Oracle v2 (1979) IBM released DB2 based on System R
(1983) Becoming Standard
ANSI SQL-86 ANSI SQL-92
RULE OF THUMB
From Tom Kyte, Oracle Evangelist1. Use single SQL statement
whenever possible2. Use PL/SQL or Stored Procedure3. Use Java (or other programming
language)4. Rethink why you want to do it
(refine your approach)
SQL ANATOMY
Statements Queries Clauses Predicates Expressions
SELECTSELECT b,d,e,h
FROM some_table ;
SELECT *
FROM some_table
WHERE x IN (3,5,6,8) ;
SELECT b,d,e,h
FROM some_table
WHERE x IN (3,5,6,8) ;
JOIN VS UNION
JOIN UNION (UNION ALL)
JOIN
INNER JOIN (JOIN) LEFT OUTER JOIN (LEFT JOIN) RIGHT OUTER JOIN (RIGHT JOIN) FULL OUTER JOIN (FULL JOIN) LEFT JOIN EXCLUDING INNER JOIN (LEFT
EXCLUDING JOIN) RIGHT JOIN EXCLUDING INNER JOIN (RIGHT
EXCLUDING JOIN) OUTER JOIN EXCLUDING INNER JOIN (OUTER
EXCLUDING JOIN)
VISUAL REPRESENTATION
SOME LOGIC
3VL (3 Value Logic) Conditional Expression
True False Null
CASE (ANSI) COALESCE (ANSI) DECODE (Oracle) IFNULL (MySQL) ISNULL (SQL Server)
AGGREGATES
SUM() COUNT() MAX() MIN() AVG() CROSS TABS
ANALYTIC FUNCTIONS
ROW_NUMBER() OVER() SUM() OVER() COUNT() OVER() MAX() OVER() MIN() OVER() AVG() OVER()
TRIGGERS & STORED PROCEDURES When to Use? How to Use?
TUNING
Optimizing Queries Optimizing Index Optimizing Server
THANK YOUQuestions and Answers