Vous êtes sur la page 1sur 30

1

Recuperacin de Datos Mediante la


Sentencia SQL SELECT

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Objetivos
Al finalizar esta leccin, debera estar capacitado para lo
siguiente:
Enumerar las capacidades de las sentencias SQL SELECT
Ejecutar una sentencia SELECT bsica

1-2

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Agenda

1-3

Sentencia SELECT bsica


Expresiones aritmticas y valores NULL en la sentencia
SELECT
Alias de columnas
Uso del operador de concatenacin, cadenas de
caracteres de literales, operador de comillas alternativo y
palabra clave DISTINCT
Comando DESCRIBE

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Capacidades de las Sentencias SQL SELECT

Proyeccin

Seleccin

Tabla 1

Tabla 1
Unin

Tabla 1
1-4

Tabla 2

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Sentencia SELECT Bsica

SELECT *|{[DISTINCT] column|expression [alias],...}


FROM
table;

1-5

SELECT identifica las columnas que se van a mostrar.


FROM identifica la tabla que contiene estas columnas.

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Seleccin de Todas las Columnas

SELECT *
FROM
departments;

1-6

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Seleccin de Columnas Concretas

SELECT department_id, location_id


FROM
departments;

1-7

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Escritura de Sentencias SQL

1-8

Las sentencias SQL no son sensibles a maysculas/


minsculas.
Las sentencias SQL se pueden introducir en una o ms
lneas.
Las palabras clave no se pueden abreviar o dividir entre
lneas.
Las clusulas se suelen colocar en lneas independientes.
El sangrado se utiliza para mejorar la legibilidad.
En SQL Developer, las sentencias SQL tambin pueden
terminar con un punto y coma (;). Los puntos y comas son
necesarios si ejecuta varias sentencias SQL.
En SQL*Plus, debe finalizar cada sentencia SQL con un
punto y coma (;).
Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Valores por Defecto de Cabeceras de Columna

SQL Developer:
Alineacin de cabeceras por defecto: alineacin a la
izquierda
Visualizacin de cabeceras por defecto: maysculas

SQL*Plus:
Las cabeceras de columna de carcter y de fecha se alinean
a la izquierda
Las cabeceras de columna de nmero se alinean a la
derecha
Visualizacin de cabeceras por defecto: maysculas

1-9

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Agenda

1-10

Sentencia SELECT bsica


Expresiones aritmticas y valores NULL en la sentencia
SELECT
Alias de columnas
Uso del operador de concatenacin, cadenas de
caracteres de literales, operador de comillas alternativo y
palabra clave DISTINCT
Comando DESCRIBE

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Expresiones Aritmticas
Crear expresiones con datos de fecha y nmeros mediante
operadores aritmticos.
Operador
+

Sumar

Restar

Multiplicar

1-11

Descripcin

Dividir

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Uso de Operadores Aritmticos

SELECT last_name, salary, salary + 300


FROM
employees;

1-12

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Prioridad de Operadores

SELECT last_name, salary, 12*salary+100


FROM
employees;

SELECT last_name, salary, 12*(salary+100)


FROM
employees;

1-13

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Definicin de Valor Nulo

Un valor nulo es un valor que no est disponible, sin


asignar, desconocido o que no es aplicable.
Un valor nulo no es lo mismo que un cero o un espacio en
blanco.
SELECT last_name, job_id, salary, commission_pct
FROM
employees;

1-14

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Valores Nulos en Expresiones Aritmticas


Las expresiones aritmticas que contengan un valor nulo se
evalan como nulas.
SELECT last_name, 12*salary*commission_pct
FROM
employees;

1-15

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Agenda

1-16

Sentencia SELECT bsica


Expresiones aritmticas y valores NULL en la sentencia
SELECT
Alias de columnas
Uso del operador de concatenacin, cadenas de
caracteres de literales, operador de comillas alternativo y
palabra clave DISTINCT
Comando DESCRIBE

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Definicin de Alias de Columna


Un alias de columna:
Cambia el nombre de una cabecera de columna
Es til para realizar clculos
Sigue inmediatamente al nombre de columna (tambin
puede ser la palabra clave opcional AS entre el nombre de
columna y el alias)
Necesita comillas dobles si contiene espacios o caracteres
especiales o si es sensible a maysculas/minsculas

1-17

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Uso de Alias de Columna

SELECT last_name AS name, commission_pct comm


FROM
employees;

SELECT last_name "Name" , salary*12 "Annual Salary"


FROM
employees;

1-18

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Agenda

1-19

Sentencia SELECT bsica


Expresiones aritmticas y valores NULL en la sentencia
SELECT
Alias de columnas
Uso del operador de concatenacin, cadenas de
caracteres de literales, operador de comillas alternativo y
palabra clave DISTINCT
Comando DESCRIBE

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Operador de Concatenacin
Un operador de concatenacin:
Enlaza columnas o cadenas de caracteres a otras columnas
Se representa con dos barras verticales (||)
Crea una columna resultante que es una expresin de
carcter
SELECT
FROM

last_name||job_id AS "Employees"
employees;

1-20

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Cadenas de Caracteres Literales

1-21

Un literal es un carcter, un nmero o una fecha que se


incluye en la sentencia SELECT.
Los valores literales de caracteres y fecha se deben incluir
entre comillas simples.
Cada cadena de caracteres es la salida una vez para cada
fila devuelta.

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Uso de Cadenas de Caracteres Literales

SELECT last_name ||' is a '||job_id


AS "Employee Details"
FROM
employees;

1-22

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Operador de Comillas (q) Alternativo

Especifique su propio delimitador de entrecomillado.


Seleccione cualquier delimitador.
Aumente la legibilidad y el uso.

SELECT department_name || q'[ Department's Manager Id: ]'


|| manager_id
AS "Department and Manager"
FROM departments;

1-23

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Filas Duplicadas
La visualizacin por defecto de las consultas incluye todas las
filas, tambin las filas duplicadas.

SELECT department_id
FROM
employees;

SELECT DISTINCT department_id


FROM
employees;

1-24

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Agenda

1-25

Sentencia SELECT bsica


Expresiones aritmticas y valores NULL en la sentencia
SELECT
Alias de columnas
Uso del operador de concatenacin, cadenas de
caracteres de literales, operador de comillas alternativo y
palabra clave DISTINCT
Comando DESCRIBE

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Visualizacin de la Estructura de la Tabla

Utilizar el comando DESCRIBE para mostrar la estructura


de una tabla.
O seleccionar la tabla en el rbol Connections y utilizar el
separador Columns para ver la estructura de la tabla.
DESC[RIBE] tablename

1-26

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Uso del Comando DESCRIBE

DESCRIBE employees

1-27

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Prueba
Identificar las sentencias SELECT que se ejecutan correctamente.
1. SELECT first_name, last_name, job_id, salary*12
AS Yearly Sal
FROM
employees;
2. SELECT first_name, last_name, job_id, salary*12
"yearly sal"
FROM
employees;
3. SELECT first_name, last_name, job_id, salary AS
"yearly sal"
FROM
employees;
4. SELECT first_name+last_name AS name, job_Id,
salary*12 yearly sal
FROM
employees;
1-28

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Resumen
En esta leccin, debe haber aprendido lo siguiente:
Escribir una sentencia SELECT que:
Devuelva todas las filas y columnas de una tabla
Devuelva las columnas especificadas de una tabla
Utilice alias de columna para mostrar cabeceras de columna
ms descriptivas

SELECT *|{[DISTINCT] column|expression [alias],...}


FROM table;

1-29

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Prctica 1: Visin General


En esta prctica se abordan los siguientes temas:
Seleccin de todos los datos de diferentes tablas
Descripcin de la estructura de tablas
Realizacin de clculos aritmticos y especificacin de
nombres de columna

1-30

Copyright 2010, Oracle y/o sus filiales. Todos los derechos reservados.