SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
Autor: Nicola Strappazzon C.
                 e-mail: nicola51980@gmail.com




                                                                         1
                 Blog: http://www.swapbytes.com/
                 Revisión: 17/11/11




 Lección
      Usando la sentencia
            SELECT

Este material se encuentra basado en el curso de Fundamentos a SQL de ORACLE, el cual es adaptado para
el producto PostgreSQL, todos los ejemplos, códigos fuentes y la Base de Datos HR es propiedad de ORACLE.
Objetivos
    Al completar esta lección usted podrá entender los
    siguientes puntos:
    • Ejecutar las sentencias básicas utilizando el comando
      SELECT de SQL.
    • Podrá realizar operaciones aritméticas.
    • Manejo básico de las cadenas de texto.




L- 2 -
   L
Escribiendo Sentencias SQL
   • SQL no es case-sensitive.
   • SQL se puede escribir un una o mas líneas.
   • Las palabras reservadas no se pueden abreviar.
   • Las cláusulas se escriben en líneas separadas.
   • Comentar para mejorar la comprensión.
   • Toda palabra reservada se debe escribir en mayúscula
     para mejorar su compresión.
   • Toda sentencia debe terminar con el símbolo de (;) punto
     y coma.




L- 3-
   L
Convenciones



         Símbolo               Significado
             []      Opcional.
              |      Un elemento de la lista.
           [, ...]   Se repite.
             {}      Lista de elementos.




L- 4 -
   L
Sintaxis Básica


   • SELECT identifica las columnas que serán mostradas.
   • FROM identifica la tabla donde provienen las columnas.



   SELECT [ DISTINCT ] * | expresion [ AS alias ] [, ...]
   FROM   from_item [, ...];




L- 5-
   L
Seleccionando todo

   SELECT *
   FROM   departments;

    department_name_id |    department_name   | manager_id | location_id
   --------------------+----------------------+------------+-------------
                    10 | Administration       |        200 |        1700
                    20 | Marketing            |        201 |        1800
                    30 | Purchasing           |        114 |        1700
                    40 | Human Resources      |        203 |        2400
                    50 | Shipping             |        121 |        1500
                    60 | IT                   |        103 |        1400
                    70 | Public Relations     |        204 |        2700
                    80 | Sales                |        145 |        2500
                    90 | Executive            |        100 |        1700
                   100 | Finance              |        108 |        1700
   ▪ ▪ ▪
   (27 rows)




L- 6-
   L
Seleccionando columnas

   SELECT department_id, location_id
   FROM   departments;


    department_id | location_id
   ---------------+-------------
               10 |        1700
               20 |        1800
               30 |        1700
               40 |        2400
               50 |        1500
               60 |        1400
               70 |        2700
               80 |        2500
               90 |        1700
              100 |        1700
   ▪ ▪ ▪
   (17 rows)


L- 7-
   L
Operadores aritméticos


         Operador    Descripción     Precedencia


            +       Adición               2
            -       Sustracción           2
            *       Multiplicación        1
            /       División              1




L- 8 -
   L
Usando los operadores aritméticos

        SELECT last_name, salary
 1      FROM   employees;

          last_name | salary
        -------------+--------
         Russell     | 14000
        ▪ ▪ ▪
        (107 rows)

        SELECT last_name, salary + 100
 2      FROM   employees;

          last_name | ?column?
        -------------+----------
         Russell     |    14100
        ▪ ▪ ▪
        (107 rows)

L- 9-
   L
Precedencia en los operadores

           SELECT last_name, 10 * salary + 100
  1        FROM   employees;

             last_name | ?column?
           -------------+----------
            Russell     |   140100
           ▪ ▪ ▪
           (107 rows)

           SELECT last_name, 10 * (salary + 100)
  2        FROM   employees;

             last_name | ?column?
           -------------+----------
            Russell     |   141000
           ▪ ▪ ▪
           (107 rows)

L - 10 -
     L
Definiendo el valor NULL

     • NULL es un valor inaplicable, no disponible, no asignado
       o desconocido.
     • NULL no es un cero o un espacio en blanco.

     SELECT last_name, job_id, salary, commission_pct
     FROM   employees;

        last_name |    job_id   | salary | commission_pct
      -------------+------------+--------+----------------
       Taylor      | SA_REP     |   8600 |           0.20
       Livingston | SA_REP      |   8400 |           0.20
       Johnson     | SA_REP     |   6200 |           0.10
       Kochhar     | AD_VP      | 17000 |
       De Haan     | AD_VP      | 17000 |
       Hunold      | IT_PROG    |   9000 |
      ▪ ▪ ▪
      (107 rows)

L - 11 -
     L
Valores NULL en operaciones

     Cualquier operación aritmética que contenga valores
     nulos devolverán como resultado un valor nulo.

     SELECT last_name, salary, 10 * salary + commission_pct
     FROM   employees;


       last_name | salary | ?column?
     -------------+--------------------
      Taylor      |   8600 | 86000.20
      Livingston |    8400 | 84000.20
      Johnson     |   6200 | 62000.10
      Kochhar     | 17000 |
      De Haan     | 17000 |
      Hunold      |   9000 |
     ▪ ▪ ▪
     (107 rows)

L - 12 -
     L
Definiendo un alias a las columnas
     • Renombra el encabezado de una columna.
     • Es muy útil cuando se realizan cálculos.
     • El nuevo nombre se coloca después de la columna, no
       es opcional colocar la palabra reservada ‘AS’ entre la
       columna y el alias.
     • Los nombres que contienen espacios, caracteres
       especiales o case-sensitive se colocan entre comillas
       dobles.




L - 13 -
     L
Usando el alias

   SELECT last_name AS name, salary, 10 * salary AS "New Salary"
   FROM   employees;


       name     | salary | New Salary
   -------------+--------+------------
    Russell     | 14000 |      140000
    Partners    | 13500 |      135000
    Errazuriz   | 12000 |      120000
    Cambrault   | 11000 |      110000
    Zlotkey     | 10500 |      105000
    Tucker      | 10000 |      100000
    Bernstein   |   9500 |      95000
    Hall        |   9000 |      90000
    Olsen       |   8000 |      80000
    Cambrault   |   7500 |      75000
   ▪ ▪ ▪
   (107 rows)

L - 14 -
     L
Concatenar columnas

     • Permite unir varias cadena de texto o columnas.
     • Es representada por dos barras verticales ( | | ).
     • La unión de varias cadenas de texto o columnas genera
       una nueva columna.
     SELECT last_name || first_name AS "Employees"
     FROM   employees;

       Employees
      ------------------
       RussellJohn
       PartnersKaren
       ErrazurizAlberto
       CambraultGerald
      ▪ ▪ ▪
      (107 rows)

L - 15 -
     L
Caracteres literales
     • El literal es un carácter, numero o fecha que están
       incluidas dentro de la sentencia SELECT.
     • La fecha y el carácter literal son valores que se encierran
       en comillas simples (' ').
        – Por ejemplo:
             • 'U'
             • 'King'
             • '2007-12-01'




L - 16 -
     L
Usando los caracteres literales

    SELECT last_name || ' is a ' || job_id AS "Employee Details"
    FROM   employees;

     Employee Details
    ---------------------------
     Russell is a SA_MAN
     Partners is a SA_MAN
     Errazuriz is a SA_MAN
     Cambrault is a SA_MAN
     Zlotkey is a SA_MAN
     Tucker is a SA_REP
     Bernstein is a SA_REP
     Hall is a SA_REP
     Olsen is a SA_REP
     Cambrault is a SA_REP
     Tuvault is a SA_REP
    ▪ ▪ ▪
    (107 rows)

L - 17 -
     L
Incluir caracteres especiales

     • Utilizar cualquier delimitador.
     • Incrementa la legibilidad y su uso.
     SELECT last_name
            || E', it's assigned Manager ID: '
            || job_id AS "Employee Details“
     FROM   employees;

       Employee Details
      -------------------------------------------------
       Russell, it's assigned Manager ID: SA_MAN
       Partners, it's assigned Manager ID: SA_MAN
       Errazuriz, it's assigned Manager ID: SA_MAN
       Cambrault, it's assigned Manager ID: SA_MAN
       Zlotkey, it's assigned Manager ID: SA_MAN
       Tucker, it's assigned Manager ID: SA_REP
      ▪ ▪ ▪
      (107 rows)

L - 18 -
     L
Evitando registros duplicados

           SELECT department_id
  1        FROM   employees;
            department_id
           ---------------
                       80
                       80
           ▪ ▪ ▪
           (107 rows)

           SELECT DISTINCT department_id
  2        FROM   employees;
            department_id
           ---------------
                       10
                       20
           ▪ ▪ ▪
           (9 rows)

L - 19 -
     L
Resumen

     En esta lección, usted debió entender como:
     • Usar la sentencia SELECT de SQL para:
        – Retornar todos los registros de una tabla.
        – Retornar columnas especificas de una tabla.
        – Definir un alias en las columnas.
        – Realizar operaciones aritméticas.
        – Manipular cadenas de texto y los literales.




L - 20 -
     L

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

80 different SQL Queries with output
80 different SQL Queries with output80 different SQL Queries with output
80 different SQL Queries with output
 
SQL BASIC QUERIES SOLUTION ~hmftj
SQL BASIC QUERIES SOLUTION ~hmftjSQL BASIC QUERIES SOLUTION ~hmftj
SQL BASIC QUERIES SOLUTION ~hmftj
 
Top 40 sql queries for testers
Top 40 sql queries for testersTop 40 sql queries for testers
Top 40 sql queries for testers
 
All questions
All questionsAll questions
All questions
 
Window functions with SQL Server 2016
Window functions with SQL Server 2016Window functions with SQL Server 2016
Window functions with SQL Server 2016
 
Sql Queries
Sql QueriesSql Queries
Sql Queries
 
Sql queries questions and answers
Sql queries questions and answersSql queries questions and answers
Sql queries questions and answers
 
1 z0 047
1 z0 0471 z0 047
1 z0 047
 
Sql task
Sql taskSql task
Sql task
 
Best sql plsql material
Best sql plsql materialBest sql plsql material
Best sql plsql material
 
Group By, Order By, and Aliases in SQL
Group By, Order By, and Aliases in SQLGroup By, Order By, and Aliases in SQL
Group By, Order By, and Aliases in SQL
 
DBMS 5 | MySQL Practice List - HR Schema
DBMS 5 | MySQL Practice List - HR SchemaDBMS 5 | MySQL Practice List - HR Schema
DBMS 5 | MySQL Practice List - HR Schema
 
Sql select
Sql select Sql select
Sql select
 
Q on subquery
Q on subqueryQ on subquery
Q on subquery
 
Les01 (retrieving data using the sql select statement)
Les01 (retrieving data using the sql select statement)Les01 (retrieving data using the sql select statement)
Les01 (retrieving data using the sql select statement)
 
SQL practice questions set - 2
SQL practice questions set - 2SQL practice questions set - 2
SQL practice questions set - 2
 
Sql queires
Sql queiresSql queires
Sql queires
 
Aggregating Data Using Group Functions
Aggregating Data Using Group FunctionsAggregating Data Using Group Functions
Aggregating Data Using Group Functions
 
SQL Functions and Operators
SQL Functions and OperatorsSQL Functions and Operators
SQL Functions and Operators
 
SQL BASIC QUERIES
SQL  BASIC QUERIES SQL  BASIC QUERIES
SQL BASIC QUERIES
 

Similar a PostgreSQL - Lección 1 - Usando la sentencia SELECT

Similar a PostgreSQL - Lección 1 - Usando la sentencia SELECT (20)

PostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - SubconsultasPostgreSQL - Lección 6 - Subconsultas
PostgreSQL - Lección 6 - Subconsultas
 
Attachment
AttachmentAttachment
Attachment
 
Presentacións Sql mejorado
Presentacións Sql mejoradoPresentacións Sql mejorado
Presentacións Sql mejorado
 
Postgre S Q L 4
Postgre S Q L 4Postgre S Q L 4
Postgre S Q L 4
 
Lecc01
Lecc01Lecc01
Lecc01
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
Actividad2 capitulo I contenido
Actividad2 capitulo I  contenidoActividad2 capitulo I  contenido
Actividad2 capitulo I contenido
 
Resumen sql-oracle
Resumen sql-oracleResumen sql-oracle
Resumen sql-oracle
 
Modo de procedimiento postgres
Modo de procedimiento postgresModo de procedimiento postgres
Modo de procedimiento postgres
 
CONSULTAS BASICAS
CONSULTAS BASICASCONSULTAS BASICAS
CONSULTAS BASICAS
 
Administración de base de datos oracle - sesion 1
Administración de base de datos oracle - sesion 1Administración de base de datos oracle - sesion 1
Administración de base de datos oracle - sesion 1
 
Command oracle
Command oracleCommand oracle
Command oracle
 
Sql2
Sql2Sql2
Sql2
 
Sql1
Sql1Sql1
Sql1
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Sql postgres
Sql postgresSql postgres
Sql postgres
 
Unidad iii dql
Unidad iii dqlUnidad iii dql
Unidad iii dql
 
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
 
Sql
SqlSql
Sql
 
Tarea 8 consultas
Tarea 8 consultasTarea 8 consultas
Tarea 8 consultas
 

PostgreSQL - Lección 1 - Usando la sentencia SELECT

  • 1. Autor: Nicola Strappazzon C. e-mail: nicola51980@gmail.com 1 Blog: http://www.swapbytes.com/ Revisión: 17/11/11 Lección Usando la sentencia SELECT Este material se encuentra basado en el curso de Fundamentos a SQL de ORACLE, el cual es adaptado para el producto PostgreSQL, todos los ejemplos, códigos fuentes y la Base de Datos HR es propiedad de ORACLE.
  • 2. Objetivos Al completar esta lección usted podrá entender los siguientes puntos: • Ejecutar las sentencias básicas utilizando el comando SELECT de SQL. • Podrá realizar operaciones aritméticas. • Manejo básico de las cadenas de texto. L- 2 - L
  • 3. Escribiendo Sentencias SQL • SQL no es case-sensitive. • SQL se puede escribir un una o mas líneas. • Las palabras reservadas no se pueden abreviar. • Las cláusulas se escriben en líneas separadas. • Comentar para mejorar la comprensión. • Toda palabra reservada se debe escribir en mayúscula para mejorar su compresión. • Toda sentencia debe terminar con el símbolo de (;) punto y coma. L- 3- L
  • 4. Convenciones Símbolo Significado [] Opcional. | Un elemento de la lista. [, ...] Se repite. {} Lista de elementos. L- 4 - L
  • 5. Sintaxis Básica • SELECT identifica las columnas que serán mostradas. • FROM identifica la tabla donde provienen las columnas. SELECT [ DISTINCT ] * | expresion [ AS alias ] [, ...] FROM from_item [, ...]; L- 5- L
  • 6. Seleccionando todo SELECT * FROM departments; department_name_id | department_name | manager_id | location_id --------------------+----------------------+------------+------------- 10 | Administration | 200 | 1700 20 | Marketing | 201 | 1800 30 | Purchasing | 114 | 1700 40 | Human Resources | 203 | 2400 50 | Shipping | 121 | 1500 60 | IT | 103 | 1400 70 | Public Relations | 204 | 2700 80 | Sales | 145 | 2500 90 | Executive | 100 | 1700 100 | Finance | 108 | 1700 ▪ ▪ ▪ (27 rows) L- 6- L
  • 7. Seleccionando columnas SELECT department_id, location_id FROM departments; department_id | location_id ---------------+------------- 10 | 1700 20 | 1800 30 | 1700 40 | 2400 50 | 1500 60 | 1400 70 | 2700 80 | 2500 90 | 1700 100 | 1700 ▪ ▪ ▪ (17 rows) L- 7- L
  • 8. Operadores aritméticos Operador Descripción Precedencia + Adición 2 - Sustracción 2 * Multiplicación 1 / División 1 L- 8 - L
  • 9. Usando los operadores aritméticos SELECT last_name, salary 1 FROM employees; last_name | salary -------------+-------- Russell | 14000 ▪ ▪ ▪ (107 rows) SELECT last_name, salary + 100 2 FROM employees; last_name | ?column? -------------+---------- Russell | 14100 ▪ ▪ ▪ (107 rows) L- 9- L
  • 10. Precedencia en los operadores SELECT last_name, 10 * salary + 100 1 FROM employees; last_name | ?column? -------------+---------- Russell | 140100 ▪ ▪ ▪ (107 rows) SELECT last_name, 10 * (salary + 100) 2 FROM employees; last_name | ?column? -------------+---------- Russell | 141000 ▪ ▪ ▪ (107 rows) L - 10 - L
  • 11. Definiendo el valor NULL • NULL es un valor inaplicable, no disponible, no asignado o desconocido. • NULL no es un cero o un espacio en blanco. SELECT last_name, job_id, salary, commission_pct FROM employees; last_name | job_id | salary | commission_pct -------------+------------+--------+---------------- Taylor | SA_REP | 8600 | 0.20 Livingston | SA_REP | 8400 | 0.20 Johnson | SA_REP | 6200 | 0.10 Kochhar | AD_VP | 17000 | De Haan | AD_VP | 17000 | Hunold | IT_PROG | 9000 | ▪ ▪ ▪ (107 rows) L - 11 - L
  • 12. Valores NULL en operaciones Cualquier operación aritmética que contenga valores nulos devolverán como resultado un valor nulo. SELECT last_name, salary, 10 * salary + commission_pct FROM employees; last_name | salary | ?column? -------------+-------------------- Taylor | 8600 | 86000.20 Livingston | 8400 | 84000.20 Johnson | 6200 | 62000.10 Kochhar | 17000 | De Haan | 17000 | Hunold | 9000 | ▪ ▪ ▪ (107 rows) L - 12 - L
  • 13. Definiendo un alias a las columnas • Renombra el encabezado de una columna. • Es muy útil cuando se realizan cálculos. • El nuevo nombre se coloca después de la columna, no es opcional colocar la palabra reservada ‘AS’ entre la columna y el alias. • Los nombres que contienen espacios, caracteres especiales o case-sensitive se colocan entre comillas dobles. L - 13 - L
  • 14. Usando el alias SELECT last_name AS name, salary, 10 * salary AS "New Salary" FROM employees; name | salary | New Salary -------------+--------+------------ Russell | 14000 | 140000 Partners | 13500 | 135000 Errazuriz | 12000 | 120000 Cambrault | 11000 | 110000 Zlotkey | 10500 | 105000 Tucker | 10000 | 100000 Bernstein | 9500 | 95000 Hall | 9000 | 90000 Olsen | 8000 | 80000 Cambrault | 7500 | 75000 ▪ ▪ ▪ (107 rows) L - 14 - L
  • 15. Concatenar columnas • Permite unir varias cadena de texto o columnas. • Es representada por dos barras verticales ( | | ). • La unión de varias cadenas de texto o columnas genera una nueva columna. SELECT last_name || first_name AS "Employees" FROM employees; Employees ------------------ RussellJohn PartnersKaren ErrazurizAlberto CambraultGerald ▪ ▪ ▪ (107 rows) L - 15 - L
  • 16. Caracteres literales • El literal es un carácter, numero o fecha que están incluidas dentro de la sentencia SELECT. • La fecha y el carácter literal son valores que se encierran en comillas simples (' '). – Por ejemplo: • 'U' • 'King' • '2007-12-01' L - 16 - L
  • 17. Usando los caracteres literales SELECT last_name || ' is a ' || job_id AS "Employee Details" FROM employees; Employee Details --------------------------- Russell is a SA_MAN Partners is a SA_MAN Errazuriz is a SA_MAN Cambrault is a SA_MAN Zlotkey is a SA_MAN Tucker is a SA_REP Bernstein is a SA_REP Hall is a SA_REP Olsen is a SA_REP Cambrault is a SA_REP Tuvault is a SA_REP ▪ ▪ ▪ (107 rows) L - 17 - L
  • 18. Incluir caracteres especiales • Utilizar cualquier delimitador. • Incrementa la legibilidad y su uso. SELECT last_name || E', it's assigned Manager ID: ' || job_id AS "Employee Details“ FROM employees; Employee Details ------------------------------------------------- Russell, it's assigned Manager ID: SA_MAN Partners, it's assigned Manager ID: SA_MAN Errazuriz, it's assigned Manager ID: SA_MAN Cambrault, it's assigned Manager ID: SA_MAN Zlotkey, it's assigned Manager ID: SA_MAN Tucker, it's assigned Manager ID: SA_REP ▪ ▪ ▪ (107 rows) L - 18 - L
  • 19. Evitando registros duplicados SELECT department_id 1 FROM employees; department_id --------------- 80 80 ▪ ▪ ▪ (107 rows) SELECT DISTINCT department_id 2 FROM employees; department_id --------------- 10 20 ▪ ▪ ▪ (9 rows) L - 19 - L
  • 20. Resumen En esta lección, usted debió entender como: • Usar la sentencia SELECT de SQL para: – Retornar todos los registros de una tabla. – Retornar columnas especificas de una tabla. – Definir un alias en las columnas. – Realizar operaciones aritméticas. – Manipular cadenas de texto y los literales. L - 20 - L