+ All Categories
Home > Documents > Review SQL Advanced

Review SQL Advanced

Date post: 30-Dec-2015
Category:
Upload: burton-maynard
View: 27 times
Download: 0 times
Share this document with a friend
Description:
Review SQL Advanced. Capabilities of SQL SELECT Statements. Projection. Selection. Table 1. Table 1. Join. Table 2. Table 1. Basic SELECT Statement. SELECT identifies what columns. FROM identifies which table. SELECT[DISTINCT] {*, column [ alias ],...} FROM table;. - PowerPoint PPT Presentation
22
Review SQL Advanced
Transcript
Page 1: Review  SQL Advanced

Review SQL Advanced

Page 2: Review  SQL Advanced

Capabilities of SQL SELECT Statements

SelectionSelection ProjectionProjection

Table 1Table 1 Table 2Table 2

Table 1Table 1 Table 1Table 1JoinJoin

Page 3: Review  SQL Advanced

Basic SELECT Statement

SELECT [DISTINCT] {*, column [alias],...}FROM table;

– SELECT identifies what columns.– FROM identifies which table.

Page 4: Review  SQL Advanced

Limiting Rows Selected

– Restrict the rows returned by using the WHERE clause.

– The WHERE clause follows the FROM clause.

SELECT [DISTINCT] {*| column [alias], ...}FROM table[WHERE condition(s)][ORDER BY {column, expr, alias} [ASC|DESC]];

Page 5: Review  SQL Advanced

Using the WHERE Clause

SQL> SELECT ename, job, deptno 2 FROM emp 3 WHERE job='CLERK';

ENAME JOB DEPTNO---------- --------- ---------JAMES CLERK 30SMITH CLERK 20ADAMS CLERK 20MILLER CLERK 10

Page 6: Review  SQL Advanced

Rules of Precedence

ENAME JOB SAL---------- --------- ---------KING PRESIDENT 5000MARTIN SALESMAN 1250ALLEN SALESMAN 1600TURNER SALESMAN 1500WARD SALESMAN 1250

SQL> SELECT ename, job, sal 2 FROM emp 3 WHERE job='SALESMAN' 4 OR job='PRESIDENT' 5 AND sal>1500;

Page 7: Review  SQL Advanced

Rules of Precedence

ENAME JOB SAL---------- --------- ---------KING PRESIDENT 5000ALLEN SALESMAN 1600

Use parentheses to force priority.Use parentheses to force priority.

SQL> SELECT ename, job, sal 2 FROM emp 3 WHERE (job='SALESMAN' 4 OR job='PRESIDENT') 5 AND sal>1500;

Page 8: Review  SQL Advanced

Two Types of SQL Functions

FunctionsFunctions

Single-row Single-row functionsfunctions

Multiple-rowMultiple-rowfunctionsfunctions

Page 9: Review  SQL Advanced

Single-Row Functions

ConversionConversion

CharacterCharacter

NumberNumber

DateDate

GeneralGeneralSingle-row Single-row functionsfunctions

Page 10: Review  SQL Advanced

Function Result

Case Conversion Functions

•Convert case for character strings

LOWER('SQL Course')

UPPER('SQL Course')

INITCAP('SQL Course')

sql course

SQL COURSE

Sql Course

Page 11: Review  SQL Advanced

CONCAT('Good', 'String')

SUBSTR('String',1,3)

LENGTH('String')

INSTR('String', 'r')

LPAD(sal,10,'*')

TRIM('S' FROM 'SSMITH')

GoodString

Str

6

3

******5000

MITH

Function Result

Character Manipulation Functions

•Manipulate character strings

Page 12: Review  SQL Advanced

• MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')

Using Date Functions

• ADD_MONTHS ('11-JAN-94',6)ADD_MONTHS ('11-JAN-94',6)

• NEXT_DAY ('01-SEP-95','FRIDAY') NEXT_DAY ('01-SEP-95','FRIDAY')

• LAST_DAY('01-SEP-95')LAST_DAY('01-SEP-95')

19.677419419.6774194

'11-JUL-94''11-JUL-94'

'08-SEP-95''08-SEP-95'

'30-SEP-95''30-SEP-95'

Page 13: Review  SQL Advanced

Using Date Functions

• ROUND('25-JUL-95','MONTH') 01-AUG-95ROUND('25-JUL-95','MONTH') 01-AUG-95

• ROUND('25-JUL-95','YEAR') ROUND('25-JUL-95','YEAR') 01-JAN-96 01-JAN-96

• TRUNC('25-JUL-95','MONTH') TRUNC('25-JUL-95','MONTH') 01-JUL-95 01-JUL-95

• TRUNC('25-JUL-95','YEAR')TRUNC('25-JUL-95','YEAR') 01-JAN- 01-JAN-9595

Page 14: Review  SQL Advanced

Explicit Datatype Conversion

NUMBERNUMBER CHARACTERCHARACTER

TO_CHARTO_CHAR

TO_NUMBERTO_NUMBER

DATEDATE

TO_CHARTO_CHAR

TO_DATETO_DATE

Page 15: Review  SQL Advanced

DECODE Function

•Facilitates conditional inquiries by doing the work of a CASE or IF-THEN-ELSE statement

DECODE(col/expression, search1, result1 [, search2, result2,...,] [, default])

Page 16: Review  SQL Advanced

What Is a Join?

•Use a join to query data from more than one table.

– Write the join condition in the WHERE clause.

– Prefix the column name with the table name when the same column name appears in more than one table.

SELECT table1.column, table2.columnFROM table1, table2WHERE table1.column1 = table2.column2;

Page 17: Review  SQL Advanced

Types of Joins

Equijoin Non-equijoin Outer join Self join

Page 18: Review  SQL Advanced

Using Group Functions

SELECT [column,] group_function(column)FROM table[WHERE condition][GROUP BY column] HAVING group_condition][ORDER BY column];

– AVG – COUNT – MAX– MIN – STDDEV – SUM– VARIANCE

•Group functions operate on sets of rows to give one result per group.

Page 19: Review  SQL Advanced

Subqueries

– The subquery (inner query) executes once before the main query.– The result of the subquery is used by the main query (outer

query).

SELECT select_listFROM tableWHERE expr operator

(SELECT select_list FROM table);

Page 20: Review  SQL Advanced

SQL> SELECT a.ename, a.sal, a.deptno, b.salavg 2 FROM emp a, (SELECT deptno, avg(sal) salavg 3 FROM emp 4 GROUP BY deptno) b 5 WHERE a.deptno = b.deptno 6 AND a.sal > b.salavg;

Using a Subquery in the FROM Clause

ENAME SAL DEPTNO SALAVG---------- --------- --------- ----------KING 5000 10 2916.6667JONES 2975 20 2175SCOTT 3000 20 2175...6 rows selected.

Page 21: Review  SQL Advanced

INSERT INTO table [(column [, column...])]VALUES (value [, value...]);

Manipulating Data

UPDATE tableSET column = value [, column = value, ...][WHERE condition];

DELETE [FROM] table[WHERE condition];

Page 22: Review  SQL Advanced

CREATE TABLE [schema.]table (column datatype [DEFAULT expr]

[column_constraint],...[table_constraint][,...]);

Creating Table

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias[, alias]...)]AS subquery[WITH CHECK OPTION [CONSTRAINT constraint]][WITH READ ONLY];

Creating View


Recommended