SAS SQL #1 - wmich.edu · SQL—An Introduction Introduction to PROC SQL SAS SQL #1 SAS Structured...

Preview:

Citation preview

SQL—An Introduction Introduction to PROC SQL

SAS SQL #1SAS Structured Query Language, An Introduction

JC Wang

wang (WMU) SAS SQL #1 Lecture 19 1 / 20

SQL—An Introduction Introduction to PROC SQL

Outline

1 SQL—An IntroductionWhat is SQL

2 Introduction to PROC SQLSAS SQLQuery a TableSorting Query Output

wang (WMU) SAS SQL #1 Lecture 19 2 / 20

SQL—An Introduction Introduction to PROC SQL

What is SQL Language

Structured Query Language (SQL), a standardized, widely usedlanguage that retrieves / updates data in relational databases.Relation = concept similar to concept of a set in mathematicsRelations are represented physically as two-dimensional tables(arranged in rows and columns).

wang (WMU) SAS SQL #1 Lecture 19 3 / 20

SQL—An Introduction Introduction to PROC SQL

Outline

1 SQL—An IntroductionWhat is SQL

2 Introduction to PROC SQLSAS SQLQuery a TableSorting Query Output

wang (WMU) SAS SQL #1 Lecture 19 4 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

What PROC SQL Does

PROC SQL = SAS implementation of Structured Query Language. Itcan

generate reportsgenerate summary statisticsretrieve data from tables or viewscombine data from tables or viewscreate tables, views, and indexesupdate data values in PROC SQL tablesupdate / retrieve data from database management system(DBMS) tablesmodify PROC SQL table by adding, modifying, or droppingcolumns.

wang (WMU) SAS SQL #1 Lecture 19 5 / 20

SQL—An Introduction Introduction to PROC SQL

Comparison of Terminology

SQL tables = SAS data file = a filerows = observations = recordscolumns = variables = fieldsDBMS tables = tables from other vendors which can be accessedthrough SAS/ACCESSQueries retrieve data from a table, view, or DBMS with resultsconsisting of rows and columns from a table.SQL view contains a stored query (instruction only), i.e., a virtualtableSAS PROC SQL null values = missing values.

wang (WMU) SAS SQL #1 Lecture 19 6 / 20

SQL—An Introduction Introduction to PROC SQL

Comparison of Terminology

SQL tables = SAS data file = a filerows = observations = recordscolumns = variables = fieldsDBMS tables = tables from other vendors which can be accessedthrough SAS/ACCESSQueries retrieve data from a table, view, or DBMS with resultsconsisting of rows and columns from a table.SQL view contains a stored query (instruction only), i.e., a virtualtableSAS PROC SQL null values = missing values.

wang (WMU) SAS SQL #1 Lecture 19 6 / 20

SQL—An Introduction Introduction to PROC SQL

Comparison of Terminology

SQL tables = SAS data file = a filerows = observations = recordscolumns = variables = fieldsDBMS tables = tables from other vendors which can be accessedthrough SAS/ACCESSQueries retrieve data from a table, view, or DBMS with resultsconsisting of rows and columns from a table.SQL view contains a stored query (instruction only), i.e., a virtualtableSAS PROC SQL null values = missing values.

wang (WMU) SAS SQL #1 Lecture 19 6 / 20

SQL—An Introduction Introduction to PROC SQL

Comparison of Terminology

SQL tables = SAS data file = a filerows = observations = recordscolumns = variables = fieldsDBMS tables = tables from other vendors which can be accessedthrough SAS/ACCESSQueries retrieve data from a table, view, or DBMS with resultsconsisting of rows and columns from a table.SQL view contains a stored query (instruction only), i.e., a virtualtableSAS PROC SQL null values = missing values.

wang (WMU) SAS SQL #1 Lecture 19 6 / 20

SQL—An Introduction Introduction to PROC SQL

Syntax of PROC SQLbasic use

PROC SQL <options>;query-1;query-2;...more queries...QUIT;

a query = a run block. Upon submission, SAS executes the query.End PROC SQL with a QUIT since it’s interactive.

wang (WMU) SAS SQL #1 Lecture 19 7 / 20

SQL—An Introduction Introduction to PROC SQL

Syntax of PROC SQLbasic use

PROC SQL <options>;query-1;query-2;...more queries...QUIT;

a query = a run block. Upon submission, SAS executes the query.End PROC SQL with a QUIT since it’s interactive.

wang (WMU) SAS SQL #1 Lecture 19 7 / 20

SQL—An Introduction Introduction to PROC SQL

Syntax of a Queryfrom single table

SELECT input-columnsFROM tableWHERE cond-to-subset-input-rowsGROUP BY columnHAVING cond-to-subset-groupsORDER BY columns;

It’s a single statement in this order of clauses.SELECT and FROM are required.

wang (WMU) SAS SQL #1 Lecture 19 8 / 20

SQL—An Introduction Introduction to PROC SQL

Syntax of a Queryfrom single table

SELECT input-columnsFROM tableWHERE cond-to-subset-input-rowsGROUP BY columnHAVING cond-to-subset-groupsORDER BY columns;

It’s a single statement in this order of clauses.SELECT and FROM are required.

wang (WMU) SAS SQL #1 Lecture 19 8 / 20

SQL—An Introduction Introduction to PROC SQL

SELECT and FROM Clauses

SELECT input-columnsFROM table;

input-columns: a comma-separated ordered list of columns orthe wild-card ∗ (= all columns in table)table: one-word table (SAS data set) name or two-word namelibref.sas-data-set-name (usually the latter)use SELECT DISTINCT a-table-column to query only uniquevalues of the table column

wang (WMU) SAS SQL #1 Lecture 19 9 / 20

SQL—An Introduction Introduction to PROC SQL

SELECT and FROM Clauses

SELECT input-columnsFROM table;

input-columns: a comma-separated ordered list of columns orthe wild-card ∗ (= all columns in table)table: one-word table (SAS data set) name or two-word namelibref.sas-data-set-name (usually the latter)use SELECT DISTINCT a-table-column to query only uniquevalues of the table column

wang (WMU) SAS SQL #1 Lecture 19 9 / 20

SQL—An Introduction Introduction to PROC SQL

Input Columns in SELECT Clause

an input column can bea table columna quoted text stringa calculated columna column created by a simple CASE expressiona column created by a CASE-Operand expressiona column created by COALESCE function of columns

wang (WMU) SAS SQL #1 Lecture 19 10 / 20

SQL—An Introduction Introduction to PROC SQL

Input Columns in SELECT Clause

an input column can bea table columna quoted text stringa calculated columna column created by a simple CASE expressiona column created by a CASE-Operand expressiona column created by COALESCE function of columns

wang (WMU) SAS SQL #1 Lecture 19 10 / 20

SQL—An Introduction Introduction to PROC SQL

Input Columns in SELECT Clause

an input column can bea table columna quoted text stringa calculated columna column created by a simple CASE expressiona column created by a CASE-Operand expressiona column created by COALESCE function of columns

wang (WMU) SAS SQL #1 Lecture 19 10 / 20

SQL—An Introduction Introduction to PROC SQL

Input Columns in SELECT Clause

an input column can bea table columna quoted text stringa calculated columna column created by a simple CASE expressiona column created by a CASE-Operand expressiona column created by COALESCE function of columns

wang (WMU) SAS SQL #1 Lecture 19 10 / 20

SQL—An Introduction Introduction to PROC SQL

Input Columns in SELECT Clause

an input column can bea table columna quoted text stringa calculated columna column created by a simple CASE expressiona column created by a CASE-Operand expressiona column created by COALESCE function of columns

wang (WMU) SAS SQL #1 Lecture 19 10 / 20

SQL—An Introduction Introduction to PROC SQL

Input Columns in SELECT Clause

an input column can bea table columna quoted text stringa calculated columna column created by a simple CASE expressiona column created by a CASE-Operand expressiona column created by COALESCE function of columns

wang (WMU) SAS SQL #1 Lecture 19 10 / 20

SQL—An Introduction Introduction to PROC SQL

Input Columns in SELECT Clause

an input column can bea table columna quoted text stringa calculated columna column created by a simple CASE expressiona column created by a CASE-Operand expressiona column created by COALESCE function of columns

wang (WMU) SAS SQL #1 Lecture 19 10 / 20

SQL—An Introduction Introduction to PROC SQL

Dress Up Input Columns with Attributes

input-column <attributes>where attributes are blank-separated column attributes of

FORMAT=

INFORMAT=

LABEL=’text-string’ (or simply ’text-string’)LENGTH=

Use of LABEL=’#’ suppresses the column header.See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 11 / 20

SQL—An Introduction Introduction to PROC SQL

Dress Up Input Columns with Attributes

input-column <attributes>where attributes are blank-separated column attributes of

FORMAT=

INFORMAT=

LABEL=’text-string’ (or simply ’text-string’)LENGTH=

Use of LABEL=’#’ suppresses the column header.See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 11 / 20

SQL—An Introduction Introduction to PROC SQL

Dress Up Input Columns with Attributes

input-column <attributes>where attributes are blank-separated column attributes of

FORMAT=

INFORMAT=

LABEL=’text-string’ (or simply ’text-string’)LENGTH=

Use of LABEL=’#’ suppresses the column header.See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 11 / 20

SQL—An Introduction Introduction to PROC SQL

Dress Up Input Columns with Attributes

input-column <attributes>where attributes are blank-separated column attributes of

FORMAT=

INFORMAT=

LABEL=’text-string’ (or simply ’text-string’)LENGTH=

Use of LABEL=’#’ suppresses the column header.See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 11 / 20

SQL—An Introduction Introduction to PROC SQL

Using Column Alias

input-column AS column-aliaswhere

column-alias is a valid SAS name used as an aliaswhen referencing it in subsequent calculated column(s) in thecalculation, use the alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 12 / 20

SQL—An Introduction Introduction to PROC SQL

Using Column Alias

input-column AS column-aliaswhere

column-alias is a valid SAS name used as an aliaswhen referencing it in subsequent calculated column(s) in thecalculation, use the alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 12 / 20

SQL—An Introduction Introduction to PROC SQL

Using Column Alias

input-column AS column-aliaswhere

column-alias is a valid SAS name used as an aliaswhen referencing it in subsequent calculated column(s) in thecalculation, use the alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 12 / 20

SQL—An Introduction Introduction to PROC SQL

Adding Text to Output

Codesdata test;do r = rank(’A’) to rank(’Z’);c = byte(r);output;

end;run;proc sql;select ’Character’ format=$9.,

r label=’#’ format=2.,’is’, c ’#’

from test;quit;

Output--------------------Character 65 is ACharacter 66 is BCharacter 67 is CCharacter 68 is Dmore output lines here

Character 90 is Z

wang (WMU) SAS SQL #1 Lecture 19 13 / 20

SQL—An Introduction Introduction to PROC SQL

Adding Text to Output

Codesdata test;do r = rank(’A’) to rank(’Z’);c = byte(r);output;

end;run;proc sql;select ’Character’ format=$9.,

r label=’#’ format=2.,’is’, c ’#’

from test;quit;

Output--------------------Character 65 is ACharacter 66 is BCharacter 67 is CCharacter 68 is Dmore output lines here

Character 90 is Z

wang (WMU) SAS SQL #1 Lecture 19 13 / 20

SQL—An Introduction Introduction to PROC SQL

Adding Text to Output

Codesdata test;do r = rank(’A’) to rank(’Z’);c = byte(r);output;

end;run;proc sql;select ’Character’ format=$9.,

r label=’#’ format=2.,’is’, c ’#’

from test;quit;

Output--------------------Character 65 is ACharacter 66 is BCharacter 67 is CCharacter 68 is Dmore output lines here

Character 90 is Z

wang (WMU) SAS SQL #1 Lecture 19 13 / 20

SQL—An Introduction Introduction to PROC SQL

Calculated Column

created byarithmatic-expression <AS alias> <attributes>where alias is required if it is referenced in subsequentcalculated column(s)referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 14 / 20

SQL—An Introduction Introduction to PROC SQL

Calculated Column

created byarithmatic-expression <AS alias> <attributes>where alias is required if it is referenced in subsequentcalculated column(s)referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 14 / 20

SQL—An Introduction Introduction to PROC SQL

Calculated Column

created byarithmatic-expression <AS alias> <attributes>where alias is required if it is referenced in subsequentcalculated column(s)referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 14 / 20

SQL—An Introduction Introduction to PROC SQL

Column Created By CASE Expression

created byCASEWHEN cond-1 THEN expr-1more WHEN-THEN clauses as neededELSE expr-2

END <AS alias> <attributes>

referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 15 / 20

SQL—An Introduction Introduction to PROC SQL

Column Created By CASE Expression

created byCASEWHEN cond-1 THEN expr-1more WHEN-THEN clauses as neededELSE expr-2

END <AS alias> <attributes>

referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 15 / 20

SQL—An Introduction Introduction to PROC SQL

Column Created By CASE Expression

created byCASEWHEN cond-1 THEN expr-1more WHEN-THEN clauses as neededELSE expr-2

END <AS alias> <attributes>

referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 15 / 20

SQL—An Introduction Introduction to PROC SQL

Column Created By CASE-Operand Expression

created byCASE operandWHEN value-1 THEN expr-1more WHEN-THEN clauses as neededELSE expr-2

END <AS alias> <attributes>

referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 16 / 20

SQL—An Introduction Introduction to PROC SQL

Column Created By CASE-Operand Expression

created byCASE operandWHEN value-1 THEN expr-1more WHEN-THEN clauses as neededELSE expr-2

END <AS alias> <attributes>

referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 16 / 20

SQL—An Introduction Introduction to PROC SQL

Column Created By CASE-Operand Expression

created byCASE operandWHEN value-1 THEN expr-1more WHEN-THEN clauses as neededELSE expr-2

END <AS alias> <attributes>

referencing it byCALCULATED alias

See example sql01.sas.

wang (WMU) SAS SQL #1 Lecture 19 16 / 20

SQL—An Introduction Introduction to PROC SQL

Column Created By COALESCE FunctionUsage:COALESCE(col-1,col-2<, ...>)

<AS alias> <attributes>returns first non-missing value of the columns; returns missing value if allmissing. For example,

select Name,coalesce(LowPoint, ’*Not Available*’) as LowPoint

from mylib.continents;select Name,

casewhen LowPoint is missing then ’*Not Available*’else LowPoint

end as LowPointfrom mylib.continents;

wang (WMU) SAS SQL #1 Lecture 19 17 / 20

SQL—An Introduction Introduction to PROC SQL

Subset Input Table Using WHERE ClauseSELECT input-columns

FROM tableWHERE cond;

where cond is expression that makes use oftable columns and/or input columns and with comparisonoperators (symbols or mnemonics), logical operators (symbols ormnemonics)special operators including BETWEEN-AND, CONTAINS, IN, ISNULL/IS MISSING, LIKE, and =∗truncated string comparison operators (3-letter mnemonicsformed by appending 2-letter comparison operators)special operators linking subquery: ANY (subquery), ALL(subquery), and EXISTS (subquery)

wang (WMU) SAS SQL #1 Lecture 19 18 / 20

SQL—An Introduction Introduction to PROC SQL

Subset Input Table Using WHERE ClauseSELECT input-columns

FROM tableWHERE cond;

where cond is expression that makes use oftable columns and/or input columns and with comparisonoperators (symbols or mnemonics), logical operators (symbols ormnemonics)special operators including BETWEEN-AND, CONTAINS, IN, ISNULL/IS MISSING, LIKE, and =∗truncated string comparison operators (3-letter mnemonicsformed by appending 2-letter comparison operators)special operators linking subquery: ANY (subquery), ALL(subquery), and EXISTS (subquery)

wang (WMU) SAS SQL #1 Lecture 19 18 / 20

SQL—An Introduction Introduction to PROC SQL

Subset Input Table Using WHERE ClauseSELECT input-columns

FROM tableWHERE cond;

where cond is expression that makes use oftable columns and/or input columns and with comparisonoperators (symbols or mnemonics), logical operators (symbols ormnemonics)special operators including BETWEEN-AND, CONTAINS, IN, ISNULL/IS MISSING, LIKE, and =∗truncated string comparison operators (3-letter mnemonicsformed by appending 2-letter comparison operators)special operators linking subquery: ANY (subquery), ALL(subquery), and EXISTS (subquery)

wang (WMU) SAS SQL #1 Lecture 19 18 / 20

SQL—An Introduction Introduction to PROC SQL

Subset Input Table Using WHERE ClauseSELECT input-columns

FROM tableWHERE cond;

where cond is expression that makes use oftable columns and/or input columns and with comparisonoperators (symbols or mnemonics), logical operators (symbols ormnemonics)special operators including BETWEEN-AND, CONTAINS, IN, ISNULL/IS MISSING, LIKE, and =∗truncated string comparison operators (3-letter mnemonicsformed by appending 2-letter comparison operators)special operators linking subquery: ANY (subquery), ALL(subquery), and EXISTS (subquery)

wang (WMU) SAS SQL #1 Lecture 19 18 / 20

SQL—An Introduction Introduction to PROC SQL

Subset Input Table Using WHERE ClauseSELECT input-columns

FROM tableWHERE cond;

where cond is expression that makes use oftable columns and/or input columns and with comparisonoperators (symbols or mnemonics), logical operators (symbols ormnemonics)special operators including BETWEEN-AND, CONTAINS, IN, ISNULL/IS MISSING, LIKE, and =∗truncated string comparison operators (3-letter mnemonicsformed by appending 2-letter comparison operators)special operators linking subquery: ANY (subquery), ALL(subquery), and EXISTS (subquery)

wang (WMU) SAS SQL #1 Lecture 19 18 / 20

SQL—An Introduction Introduction to PROC SQL

Summarizing Datausing aggregate functions

Aggregate functions (or summary functions) are used to combinecolumns. If single column is specified then the column statistic isproduced; otherwise, row statistics are produced for the columns.Aggregate functions include

1 AVG/MEAN, MIN, MAX, SUM SUMWGT2 RANGE, STD, STDERR, CV3 USS, CSS, VAR4 COUNT, FREQ, N, NMISS5 T, PRT

wang (WMU) SAS SQL #1 Lecture 19 19 / 20

SQL—An Introduction Introduction to PROC SQL

Summarizing Datausing aggregate functions

Aggregate functions (or summary functions) are used to combinecolumns. If single column is specified then the column statistic isproduced; otherwise, row statistics are produced for the columns.Aggregate functions include

1 AVG/MEAN, MIN, MAX, SUM SUMWGT2 RANGE, STD, STDERR, CV3 USS, CSS, VAR4 COUNT, FREQ, N, NMISS5 T, PRT

wang (WMU) SAS SQL #1 Lecture 19 19 / 20

SQL—An Introduction Introduction to PROC SQL

Sorting Query Results

SELECT input-columnFROM tableORDER BY sort-columns;

where columns is a comma-separated list of columns and eachsort-column

can be an input-column either by name or by its position (anumber) in the input-column listcan be a table column but not an input columnif it’s a calculated column, do NOT use CALCULATED keyworduse sort-column DESC for a sort-column to be in descendingorder

wang (WMU) SAS SQL #1 Lecture 19 20 / 20

SQL—An Introduction Introduction to PROC SQL

Sorting Query Results

SELECT input-columnFROM tableORDER BY sort-columns;

where columns is a comma-separated list of columns and eachsort-column

can be an input-column either by name or by its position (anumber) in the input-column listcan be a table column but not an input columnif it’s a calculated column, do NOT use CALCULATED keyworduse sort-column DESC for a sort-column to be in descendingorder

wang (WMU) SAS SQL #1 Lecture 19 20 / 20

SQL—An Introduction Introduction to PROC SQL

Sorting Query Results

SELECT input-columnFROM tableORDER BY sort-columns;

where columns is a comma-separated list of columns and eachsort-column

can be an input-column either by name or by its position (anumber) in the input-column listcan be a table column but not an input columnif it’s a calculated column, do NOT use CALCULATED keyworduse sort-column DESC for a sort-column to be in descendingorder

wang (WMU) SAS SQL #1 Lecture 19 20 / 20

SQL—An Introduction Introduction to PROC SQL

Sorting Query Results

SELECT input-columnFROM tableORDER BY sort-columns;

where columns is a comma-separated list of columns and eachsort-column

can be an input-column either by name or by its position (anumber) in the input-column listcan be a table column but not an input columnif it’s a calculated column, do NOT use CALCULATED keyworduse sort-column DESC for a sort-column to be in descendingorder

wang (WMU) SAS SQL #1 Lecture 19 20 / 20

SQL—An Introduction Introduction to PROC SQL

Sorting Query Results

SELECT input-columnFROM tableORDER BY sort-columns;

where columns is a comma-separated list of columns and eachsort-column

can be an input-column either by name or by its position (anumber) in the input-column listcan be a table column but not an input columnif it’s a calculated column, do NOT use CALCULATED keyworduse sort-column DESC for a sort-column to be in descendingorder

wang (WMU) SAS SQL #1 Lecture 19 20 / 20

Recommended