22
2 2 Writing Basic SELECT Statements

2 Writing Basic SELECT Statements. 1-2 Copyright Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

Embed Size (px)

Citation preview

Page 1: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

22

Writing Basic SELECT Statements

Writing Basic SELECT Statements

Page 2: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-2 Copyright Oracle Corporation, 1999. All rights reserved.

Capabilities of SQL SELECT Statements

Capabilities of SQL SELECT Statements

SelectionSelection ProjectionProjection

Table 1Table 1 Table 2Table 2

Table 1Table 1 Table 1Table 1JoinJoin

Page 3: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-3 Copyright Oracle Corporation, 1999. All rights reserved.

Basic SELECT StatementBasic SELECT Statement

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

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

• SELECT identifies what columns.

• FROM identifies which table.

• SELECT identifies what columns.

• FROM identifies which table.

Page 4: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-4 Copyright Oracle Corporation, 1999. All rights reserved.

Writing SQL StatementsWriting SQL Statements

• SQL statements are not case sensitive.

• SQL statements can be on one ormore lines.

• Keywords cannot be abbreviated or split across lines.

• Clauses are usually placed on separate lines.

• Tabs and indents are used to enhance readability.

• SQL statements are not case sensitive.

• SQL statements can be on one ormore lines.

• Keywords cannot be abbreviated or split across lines.

• Clauses are usually placed on separate lines.

• Tabs and indents are used to enhance readability.

Page 5: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-5 Copyright Oracle Corporation, 1999. All rights reserved.

Selecting All ColumnsSelecting All Columns

DEPTNO DNAME LOC--------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON

SQL> SELECT * 2 FROM dept;

Page 6: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-6 Copyright Oracle Corporation, 1999. All rights reserved.

Selecting Specific ColumnsSelecting Specific Columns

DEPTNO LOC--------- ------------- 10 NEW YORK 20 DALLAS 30 CHICAGO 40 BOSTON

SQL> SELECT deptno, loc 2 FROM dept;

Page 7: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-7 Copyright Oracle Corporation, 1999. All rights reserved.

Column Heading DefaultsColumn Heading Defaults

• Default justification

– Left: Date and character data

– Right: Numeric data

• Default display: Uppercase

• Default justification

– Left: Date and character data

– Right: Numeric data

• Default display: Uppercase

Page 8: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-8 Copyright Oracle Corporation, 1999. All rights reserved.

Arithmetic ExpressionsArithmetic Expressions

Create expressions on NUMBER and DATE Create expressions on NUMBER and DATE data by using arithmetic operators.data by using arithmetic operators.Create expressions on NUMBER and DATE Create expressions on NUMBER and DATE data by using arithmetic operators.data by using arithmetic operators.

Operator

+

-

*

/

Description

Add

Subtract

Multiply

Divide

Page 9: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-9 Copyright Oracle Corporation, 1999. All rights reserved.

Using Arithmetic OperatorsUsing Arithmetic Operators

SQL> SELECT ename, sal, sal+300 2 FROM emp;

ENAME SAL SAL+300---------- --------- ---------KING 5000 5300BLAKE 2850 3150CLARK 2450 2750JONES 2975 3275MARTIN 1250 1550ALLEN 1600 1900...14 rows selected.

Page 10: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-10 Copyright Oracle Corporation, 1999. All rights reserved.

Operator PrecedenceOperator Precedence

• Multiplication and division take priority over addition and subtraction.

• Operators of the same priority are evaluated from left to right.

• Parentheses are used to force prioritized evaluation and to clarify statements.

• Multiplication and division take priority over addition and subtraction.

• Operators of the same priority are evaluated from left to right.

• Parentheses are used to force prioritized evaluation and to clarify statements.

**** //// ++++ ____

Page 11: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-11 Copyright Oracle Corporation, 1999. All rights reserved.

Operator PrecedenceOperator Precedence

SQL> SELECT ename, sal, 12*sal+100 2 FROM emp;

ENAME SAL 12*SAL+100---------- --------- ----------KING 5000 60100BLAKE 2850 34300CLARK 2450 29500JONES 2975 35800MARTIN 1250 15100ALLEN 1600 19300...14 rows selected.

Page 12: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-12 Copyright Oracle Corporation, 1999. All rights reserved.

Using ParenthesesUsing Parentheses

SQL> SELECT ename, sal, 12*(sal+100) 2 FROM emp;

ENAME SAL 12*(SAL+100)---------- --------- -----------KING 5000 61200BLAKE 2850 35400CLARK 2450 30600JONES 2975 36900MARTIN 1250 16200...14 rows selected.

Page 13: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-13 Copyright Oracle Corporation, 1999. All rights reserved.

Defining a Null ValueDefining a Null Value• A null is a value that is unavailable,

unassigned, unknown, or inapplicable.

• A null is not the same as zero or a blank space.

• A null is a value that is unavailable, unassigned, unknown, or inapplicable.

• A null is not the same as zero or a blank space.

ENAME JOB SAL COMM---------- --------- --------- ---------KING PRESIDENT 5000BLAKE MANAGER 2850...TURNER SALESMAN 1500 0...14 rows selected.

SQL> SELECT ename, job, sal, comm 2 FROM emp;

Page 14: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-14 Copyright Oracle Corporation, 1999. All rights reserved.

Null Values in Arithmetic Expressions

Null Values in Arithmetic Expressions

Arithmetic expressions containing a null Arithmetic expressions containing a null value evaluate to null.value evaluate to null.Arithmetic expressions containing a null Arithmetic expressions containing a null value evaluate to null.value evaluate to null.

SQL> select ename, 12*sal+comm 2 from emp 3 WHERE ename='KING';

ENAME 12*SAL+COMM ---------- -----------KING

Page 15: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-15 Copyright Oracle Corporation, 1999. All rights reserved.

Defining a Column AliasDefining a Column Alias

• Renames a column heading

• Is useful with calculations

• Immediately follows column name; optional AS keyword between column name and alias

• Requires double quotation marks if it contains spaces or special characters or is case sensitive

• Renames a column heading

• Is useful with calculations

• Immediately follows column name; optional AS keyword between column name and alias

• Requires double quotation marks if it contains spaces or special characters or is case sensitive

Page 16: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-16 Copyright Oracle Corporation, 1999. All rights reserved.

Using Column AliasesUsing Column Aliases

SQL> SELECT ename AS name, sal salary 2 FROM emp;

NAME SALARY

------------- ---------

...

SQL> SELECT ename "Name", 2 sal*12 "Annual Salary" 3 FROM emp;

Name Annual Salary

------------- -------------

...

Page 17: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-17 Copyright Oracle Corporation, 1999. All rights reserved.

Concatenation OperatorConcatenation Operator

• Concatenates columns or character strings to other columns

• Is represented by two vertical bars (||)

• Creates a resultant column that is a character expression

• Concatenates columns or character strings to other columns

• Is represented by two vertical bars (||)

• Creates a resultant column that is a character expression

Page 18: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-18 Copyright Oracle Corporation, 1999. All rights reserved.

Using the Concatenation Operator

Using the Concatenation Operator

SQL> SELECT ename||job AS "Employees" 2 FROM emp;

Employees-------------------KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN...14 rows selected.

Page 19: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-19 Copyright Oracle Corporation, 1999. All rights reserved.

Literal Character StringsLiteral Character Strings

• A literal is a character, a number, or a date included in the SELECT list.

• Date and character literal values must be enclosed within single quotation marks.

• Each character string is output once for each row returned.

• A literal is a character, a number, or a date included in the SELECT list.

• Date and character literal values must be enclosed within single quotation marks.

• Each character string is output once for each row returned.

Page 20: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-20 Copyright Oracle Corporation, 1999. All rights reserved.

Using Literal Character StringsUsing Literal Character Strings

Employee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.

Employee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.

SQL> SELECT ename ||' is a '||job 2 AS "Employee Details" 3 FROM emp;

Page 21: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-21 Copyright Oracle Corporation, 1999. All rights reserved.

Duplicate RowsDuplicate Rows

The default display of queries is all rows, The default display of queries is all rows, including duplicate rows.including duplicate rows.The default display of queries is all rows, The default display of queries is all rows, including duplicate rows.including duplicate rows.

SQL> SELECT deptno 2 FROM emp;

SQL> SELECT deptno 2 FROM emp;

DEPTNO--------- 10 30 10 20...14 rows selected.

Page 22: 2 Writing Basic SELECT Statements. 1-2 Copyright  Oracle Corporation, 1999. All rights reserved. Capabilities of SQL SELECT Statements Selection Projection

1-22 Copyright Oracle Corporation, 1999. All rights reserved.

Eliminating Duplicate RowsEliminating Duplicate Rows

Eliminate duplicate rows by using the Eliminate duplicate rows by using the DISTINCT keyword in the SELECT clause.DISTINCT keyword in the SELECT clause.

SQL> SELECT DISTINCT deptno 2 FROM emp;

DEPTNO--------- 10 20 30