Writing Basic SQL Statements
ObjectivesAfter completing this lesson, you should be able to do the following:List the capabilities of SQL SELECT statementsExecute a basic SELECT statementDifferentiate between SQL statements and SQL*Plus commands
Capabilities of SQL SELECT StatementsProjectionSelectionTable 1Table 1JoinTable 2Table 1
Basic SELECT StatementSELECT	[DISTINCT] {*, column [alias],...}FROMtable;SELECT identifies what columns.FROM identifies which table.
Writing SQL StatementsSQL 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.
Selecting All ColumnsSQL> SELECT *2  FROM dept;   DEPTNO DNAME          LOC--------- -------------- -------------10 ACCOUNTING     NEW YORK20 RESEARCH       DALLAS30 SALES          CHICAGO40 OPERATIONS     BOSTON
Selecting Specific ColumnsSQL> SELECT deptno, loc2  FROM   dept;   DEPTNO LOC--------- -------------10 NEW YORK20 DALLAS30 CHICAGO40 BOSTON
Column Heading DefaultsDefault justificationLeft: Date and character dataRight: Numeric dataDefault display: Uppercase
Arithmetic ExpressionsCreate expressions on NUMBER and DATE data by using arithmetic operators.Operator+-*      /       	DescriptionAddSubtract Multiply Divide
Using Arithmetic OperatorsSQL> SELECT ename, sal, sal+3002  FROMemp;ENAME            SAL   SAL+300---------- --------- ---------KING            50005300BLAKE           28503150CLARK           24502750JONES           29753275MARTIN          12501550ALLEN           16001900...14 rows selected.
Operator 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.
Operator PrecedenceSQL> SELECT ename, sal, 12*sal+1002  FROM   emp;ENAME            SAL 12*SAL+100---------- --------- ----------KING            500060100BLAKE           285034300CLARK           245029500JONES           297535800MARTIN          125015100ALLEN           160019300...14 rows selected.
Using ParenthesesSQL> SELECT ename, sal, 12*(sal+100)2  FROM   emp;ENAME            SAL 12*(SAL+100)---------- --------- -----------KING            500061200BLAKE           285035400CLARK           245030600JONES           297536900MARTIN          125016200...14 rows selected.
Defining a Null ValueA null is a value that is unavailable, unassigned, unknown, or inapplicable.A null is not the same as zero or a blank space.SQL> SELECT ename, job, comm2  FROMemp;ENAME      JOB            COMM---------- --------- ---------KING       PRESIDENTBLAKE      MANAGER...TURNER     SALESMAN          0...14 rows selected.
Null Values in Arithmetic ExpressionsArithmetic expressions containing a null value evaluate to null.SQL> select ename, 12*sal+comm 2  from   emp3  WHERE  ename='KING';ENAME      12*SAL+COMM ---------- -----------KING
Defining a Column AliasRenames a column headingIs useful with calculationsImmediately follows column name; optional AS keyword between column name and aliasRequires double quotation marks if it contains spaces or special characters or is case sensitive
Using Column AliasesName          Annual Salary------------- -------------...SQL> SELECT ename AS name, sal salary2  FROM   emp;NAME             SALARY------------- ---------...SQL> SELECT ename "Name",2         sal*12 "Annual Salary"3  FROM   emp;
Concatenation OperatorConcatenates columns or character strings to other columns Is represented by two vertical bars (||)Creates a resultant column that is a character expression
Using the Concatenation OperatorSQL> SELECTename||job AS "Employees"2  FROM emp;Employees-------------------KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN...14 rows selected.
Literal Character StringsA literal is a character, expression, or number 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.
Using Literal Character StringsSQL> SELECT ename||' '||'is a'||' '||job 2AS "Employee Details"3  FROM   emp;Employee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.
Duplicate RowsThe default display of queries is all rows, including duplicate rows.SQL> SELECT deptno2  FROM   emp;   DEPTNO---------10301020...14 rows selected.
Eliminating Duplicate RowsEliminate duplicate rows by using the DISTINCT keyword in the SELECT clause.SQL> SELECT DISTINCT deptno2  FROM   emp;   DEPTNO---------102030
SQL and SQL*Plus InteractionSQL StatementsSQL StatementsServerQuery ResultsSQL*Plus CommandsFormatted ReportBufferSQL*Plus
SQL Statements Versus SQL*Plus Commands SQL A language
ANSI standard
Keyword cannot be abbreviated
Statements manipulate data and table definitions in the  databaseSQL*PlusAn environment
Oracle proprietary
Keywords can be abbreviated
Commands do not allow manipulation of values in the databaseSQLstatementsSQLbufferSQL*PluscommandsSQL*Plusbuffer
Log in to SQL*Plus.Describe the table structure.Edit your SQL statement.Execute SQL from SQL*Plus.Save SQL statements to files and append SQL statements to files.Execute saved files.Load commands from file to bufferto edit.Overview of SQL*Plus
Logging In to SQL*PlusFrom Windows environment:From command line: sqlplus [username[/password                [@database]]]
Displaying Table StructureUse the SQL*Plus DESCRIBE command to display the structure of a table.DESC[RIBE] tablename

Les01 Writing Basic Sql Statements

  • 1.
  • 2.
    ObjectivesAfter completing thislesson, you should be able to do the following:List the capabilities of SQL SELECT statementsExecute a basic SELECT statementDifferentiate between SQL statements and SQL*Plus commands
  • 3.
    Capabilities of SQLSELECT StatementsProjectionSelectionTable 1Table 1JoinTable 2Table 1
  • 4.
    Basic SELECT StatementSELECT [DISTINCT]{*, column [alias],...}FROMtable;SELECT identifies what columns.FROM identifies which table.
  • 5.
    Writing SQL StatementsSQLstatements 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.
  • 6.
    Selecting All ColumnsSQL>SELECT *2 FROM dept; DEPTNO DNAME LOC--------- -------------- -------------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON
  • 7.
    Selecting Specific ColumnsSQL>SELECT deptno, loc2 FROM dept; DEPTNO LOC--------- -------------10 NEW YORK20 DALLAS30 CHICAGO40 BOSTON
  • 8.
    Column Heading DefaultsDefaultjustificationLeft: Date and character dataRight: Numeric dataDefault display: Uppercase
  • 9.
    Arithmetic ExpressionsCreate expressionson NUMBER and DATE data by using arithmetic operators.Operator+-* / DescriptionAddSubtract Multiply Divide
  • 10.
    Using Arithmetic OperatorsSQL>SELECT ename, sal, sal+3002 FROMemp;ENAME SAL SAL+300---------- --------- ---------KING 50005300BLAKE 28503150CLARK 24502750JONES 29753275MARTIN 12501550ALLEN 16001900...14 rows selected.
  • 11.
    Operator Precedence_/+*Multiplication anddivision 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.
  • 12.
    Operator PrecedenceSQL> SELECTename, sal, 12*sal+1002 FROM emp;ENAME SAL 12*SAL+100---------- --------- ----------KING 500060100BLAKE 285034300CLARK 245029500JONES 297535800MARTIN 125015100ALLEN 160019300...14 rows selected.
  • 13.
    Using ParenthesesSQL> SELECTename, sal, 12*(sal+100)2 FROM emp;ENAME SAL 12*(SAL+100)---------- --------- -----------KING 500061200BLAKE 285035400CLARK 245030600JONES 297536900MARTIN 125016200...14 rows selected.
  • 14.
    Defining a NullValueA null is a value that is unavailable, unassigned, unknown, or inapplicable.A null is not the same as zero or a blank space.SQL> SELECT ename, job, comm2 FROMemp;ENAME JOB COMM---------- --------- ---------KING PRESIDENTBLAKE MANAGER...TURNER SALESMAN 0...14 rows selected.
  • 15.
    Null Values inArithmetic ExpressionsArithmetic expressions containing a null value evaluate to null.SQL> select ename, 12*sal+comm 2 from emp3 WHERE ename='KING';ENAME 12*SAL+COMM ---------- -----------KING
  • 16.
    Defining a ColumnAliasRenames a column headingIs useful with calculationsImmediately follows column name; optional AS keyword between column name and aliasRequires double quotation marks if it contains spaces or special characters or is case sensitive
  • 17.
    Using Column AliasesName Annual Salary------------- -------------...SQL> SELECT ename AS name, sal salary2 FROM emp;NAME SALARY------------- ---------...SQL> SELECT ename "Name",2 sal*12 "Annual Salary"3 FROM emp;
  • 18.
    Concatenation OperatorConcatenates columnsor character strings to other columns Is represented by two vertical bars (||)Creates a resultant column that is a character expression
  • 19.
    Using the ConcatenationOperatorSQL> SELECTename||job AS "Employees"2 FROM emp;Employees-------------------KINGPRESIDENTBLAKEMANAGERCLARKMANAGERJONESMANAGERMARTINSALESMANALLENSALESMAN...14 rows selected.
  • 20.
    Literal Character StringsAliteral is a character, expression, or number 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.
  • 21.
    Using Literal CharacterStringsSQL> SELECT ename||' '||'is a'||' '||job 2AS "Employee Details"3 FROM emp;Employee Details-------------------------KING is a PRESIDENTBLAKE is a MANAGERCLARK is a MANAGERJONES is a MANAGERMARTIN is a SALESMAN...14 rows selected.
  • 22.
    Duplicate RowsThe defaultdisplay of queries is all rows, including duplicate rows.SQL> SELECT deptno2 FROM emp; DEPTNO---------10301020...14 rows selected.
  • 23.
    Eliminating Duplicate RowsEliminateduplicate rows by using the DISTINCT keyword in the SELECT clause.SQL> SELECT DISTINCT deptno2 FROM emp; DEPTNO---------102030
  • 24.
    SQL and SQL*PlusInteractionSQL StatementsSQL StatementsServerQuery ResultsSQL*Plus CommandsFormatted ReportBufferSQL*Plus
  • 25.
    SQL Statements VersusSQL*Plus Commands SQL A language
  • 26.
  • 27.
  • 28.
    Statements manipulate dataand table definitions in the databaseSQL*PlusAn environment
  • 29.
  • 30.
    Keywords can beabbreviated
  • 31.
    Commands do notallow manipulation of values in the databaseSQLstatementsSQLbufferSQL*PluscommandsSQL*Plusbuffer
  • 32.
    Log in toSQL*Plus.Describe the table structure.Edit your SQL statement.Execute SQL from SQL*Plus.Save SQL statements to files and append SQL statements to files.Execute saved files.Load commands from file to bufferto edit.Overview of SQL*Plus
  • 33.
    Logging In toSQL*PlusFrom Windows environment:From command line: sqlplus [username[/password [@database]]]
  • 34.
    Displaying Table StructureUsethe SQL*Plus DESCRIBE command to display the structure of a table.DESC[RIBE] tablename