Вы находитесь на странице: 1из 19

Diapositiva 1

Escribiendo un comando SELECT

Copyright Oracle Corporation, 2001. All rights reserved.

Diapositiva 2
Lo que podemos hacer con un SELECT

Projection

Selection

Table 1

Table 1

Join

Table 1
1-2

Table 2
Copyright Oracle Corporation, 2001. All rights reserved.

Capacidades de sentencias SQL SELECT


Una sentencia SELECT recupera informacin de la base de datos.
Utilizacin de una sentencia SELECT, usted puede hacer lo siguiente:
Proyeccin: Puede utilizar la capacidad de proyeccin en SQL para elegir
las columnas de una tabla que desea respuesta a la consulta. Usted puede
elegir como pocos o tantas columnas de la tabla como necesite.
Seleccin: Puede utilizar la capacidad de seleccin de SQL para elegir
las filas de una tabla que desea devueltos por una consulta. Puede
utilizar varios criterios para restringir las filas que se ven.

Unin: Puede utilizar la capacidad de unirse en SQL para reunir datos que
se almacenan en tablas diferentes, creando un vnculo entre ellos. Se
aprende ms sobre une en una leccin posterior.

Diapositiva 3
COMANDO SELECT BASICO

SELECT
FROM

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


table;

SELECT identifica cuales columnas


FROM identifica cual tabla

1-3

Copyright Oracle Corporation, 2001. All rights reserved.

Declaracin Bsica SELECT


En su forma ms simple, una instruccin SELECT debe incluir lo siguiente:
Una clusula SELECT, que especifica las columnas que se mostrar
Una clusula FROM, que especifica la tabla que contiene las columnas
listadas en la clusula SELECT
En la sintaxis:
SELECT es una lista de una o ms columnas
*
DISTINCT
column | expression
alias

=
=
=
=

Selecciona todas las columnas


suprime los duplicados
selecciona la columna llamada o la expresin
da columnas seleccionado varios encabezamientos

FROM tabla especifica la tabla que contiene las columnas


Nota: A lo largo de este curso, la palabra clave palabras, clusula, y la
declaracin se utilizan de la siguiente manera:
Una palabra clave se refiere a un elemento
ejemplo, SELECT y FROM son palabras clave.

de

SQL

individual.?

Por

Una clusula es una parte de una sentencia SQL.? Por ejemplo, employee_id
SELECT nombre, apellidos, ... es una clusula.
Una declaracin es una combinacin de dos o ms clusulas.? Por ejemplo,
SELECT * FROM empleados es una sentencia SQL.

Diapositiva 4
SELECCIONANDO TODAS LAS
COLUMNAS
SELECT *
FROM
departments;

1-4

Copyright Oracle Corporation, 2001. All rights reserved.

Seleccin de todas las columnas de todas las filas


Puede mostrar todas las columnas de datos en una tabla siguiendo la
palabra clave SELECT con un asterisco (*).
En el ejemplo de la diapositiva, la tabla departamento contiene cuatro
columnas: DEPARTMENT_ID, department_name, MANAGER_ID y LOCATION_ID. La
tabla contiene siete filas, una para cada departamento.
Tambin puede mostrar todas las columnas de la tabla enumerando todas las
columnas despus de la palabra clave SELECT. Por ejemplo, la siguiente
sentencia SQL, como el ejemplo de la diapositiva, muestra todas las
columnas y todas las filas de la tabla DEPARTAMENTOS:
SELECCIONAR Department_id, department_name, MANAGER_ID, LOCATION_ID
De los departamentos;

Diapositiva 5
SELECCIONANDO COLUMNAS
ESPECIFICAS
SELECT department_id, location_id
FROM
departments;

1-5

Copyright Oracle Corporation, 2001. All rights reserved.

Seleccionar columnas especficas de todas las filas


Usted puede utilizar la instruccin SELECT para mostrar columnas
especficas de la tabla especificando los nombres de columna, separados
por comas. El ejemplo de la diapositiva muestra todos los nmeros de
departamento y los nmeros de ubicacin de la tabla de departamentos.
En la clusula SELECT, especifique las columnas que desee, en el orden en
el que desea que aparezcan en la salida. Por ejemplo, para mostrar la
ubicacin antes del nmero de departamento que va de izquierda a derecha,
se utiliza la siguiente declaracin:
SELECCIONAR LOCATION_ID, department_id
De los departamentos;

Diapositiva 6
Writing SQL Statements
El comando SELECT No es sensitivos a
mayusculas o minuculas ( podemos escribir
SELECT o select y la maquina lo entendera igual ).

1-6

El comando select lo podemos escribir en varias


lineas

Las palabras claves ( ejemplo selec, from ) esa


deben escribirse completas sin abreviaturas.

Un select completo usualmente se puede escribir


en varias iineas para que se vea mas ordenado.

Se pude usar identacion para mejorar la lectura.

Copyright Oracle Corporation, 2001. All rights reserved.

Escribir sentencias SQL


Usando las siguientes reglas y pautas simples, usted puede construir
afirmaciones vlidas que sean fciles de leer y fcil de editar:
o
o
o
o
o
o

instrucciones SQL no son sensibles a maysculas, salvo que se


indique.
Sentencias SQL se pueden introducir en una o varias lneas.
Las palabras clave no pueden ser divididos en lneas o abreviados.
Clusulas se colocan generalmente en lneas separadas para
facilitar la lectura y la facilidad de edicin.
Las sangras se deben utilizar para hacer el cdigo ms legible.
Palabras clave normalmente son introducidos en maysculas; todas
las otras palabras, como nombres de tablas y columnas, se
introducen en minsculas.

Ejecutar sentencias SQL


El uso de iSQL * Plus, haga clic en el botn Ejecutar para ejecutar el
comando o comandos en la ventana de edicin.

Diapositiva 7
Encabezados de columnas
predeterminados
iSQL*Plus:

La justificacion de cada encabezado es al centro.

El desplege de cada encabezado de columna


estandar es en mayusculas

Copyright Oracle Corporation, 2001. All rights reserved.

1-7

Predeterminados Encabezados de Columnas


En iSQL * Plus, encabezados de columna
centradas.

se

muestran

en

maysculas

SELECT apellidos, hire_date, salario


De los empleados;
Puede anular la visualizacin de ttulo de la columna con un alias. Alias
de columna se tratan ms adelante en esta leccin.

Diapositiva 8
Expresiones Aritmeticas
Se pueden crear expresiones aritmeticas usando los
campos numericos y de fechas.
Los operadores aritmeticos son:
Operator

1-8

Description

Add

Subtract

Multiply

Divide

Copyright Oracle Corporation, 2001. All rights reserved.

Expresiones aritmticas
Es posible que tenga que modificar la forma en que se muestran los datos,
realizar clculos, o buscar en escenarios hipotticos. Estos son todos
los posibles utilizando expresiones aritmticas. Una expresin aritmtica
puede contener nombres de columna, valores numricos constantes, y los
operadores aritmticos.
Operadores aritmticos
La diapositiva muestra los operadores aritmticos disponibles en SQL.
Puede usar operadores aritmticos en cualquier clusula de una sentencia
SQL, excepto en la clusula FROM.

Diapositiva 9
Usando los operadores aritmeticos
SELECT last_name, salary, salary + 300
FROM
employees;

1-9

Copyright Oracle Corporation, 2001. All rights reserved.

Uso de operadores aritmticos


El ejemplo de la diapositiva utiliza el operador de suma para calcular un
aumento salarial de $ 300 para todos los empleados y muestra una nueva
columna SALARIO 300 + en la salida.
Tenga en cuenta que la resultante calculada columna SALARIO + 300 no es
una nueva columna en la tabla EMPLEADOS; es slo para visualizacin. Por
defecto, el nombre de una nueva columna proviene del clculo que lo
gener, en este caso, el salario + 300.
Nota: El servidor Oracle9i ignora los espacios en blanco antes y despus
de que el operador aritmtico.

Diapositiva 10
Precedencia de los operadores

_
* / +

La multiplication y la division son prioritarios a la


suma y la resta.

Las operaciones son realizadas de izquierda a


derecha

Se pude usar parentesis para forzar la prioridad en


la operaciones aritmeticas

Copyright Oracle Corporation, 2001. All rights reserved.

1-10

Precedencia de Operadores
Si
una
expresin
aritmtica
contiene
ms
de
un
operador,
la
multiplicacin y la divisin se evalan primero. Si los operadores dentro
de una expresin son de misma prioridad, la evaluacin se realiza de
izquierda a derecha.
Puede utilizar parntesis para forzar la expresin dentro de parntesis,
a ser evaluado primero.

Diapositiva 11
Precedencia de los operadores
SELECT last_name, salary, 12*salary+100
FROM
employees;

1-11

Copyright Oracle Corporation, 2001. All rights reserved.

Precedencia de Operadores (continuacin)


El ejemplo de la diapositiva muestra el apellido, el salario y la
compensacin anual de los empleados. Se calcula la compensacin anual que
12 multiplicado por el salario mensual, ms un bono por nica vez de $
100. Obsrvese que la multiplicacin se realiza antes de la adicin.
Nota: Utilice parntesis para reforzar el orden estndar de precedencia y
para mejorar la claridad. Por ejemplo, la expresin en la diapositiva se
puede escribir como (12 * salario) + 100 sin ningn cambio en el
resultado.

Diapositiva 12
Usuando parentesis
SELECT last_name, salary, 12*(salary+100)
FROM
employees;

1-12

Copyright Oracle Corporation, 2001. All rights reserved.

Uso de parntesis
Puede anular las reglas de precedencia mediante el uso de parntesis para
especificar el orden en que se ejecutan los operadores.
El ejemplo de la diapositiva muestra el apellido, el salario y la
compensacin anual de los empleados. Se calcula la compensacin anual
como salario mensual ms un bono mensual de $ 100, multiplicado por 12.
Debido a los parntesis, adems tiene prioridad sobre la multiplicacin.

Diapositiva 13
Definiendo el valor nulo

Un nulo es un valor que esta sin asignar, no


disponible, desconocido, inaplicable

Una valo nulo no es un valor cero o un espacio en


blanco.
SELECT last_name, job_id, salary, commission_pct
FROM
employees;

1-13

Copyright Oracle Corporation, 2001. All rights reserved.

Valores Nulos
Si una fila carece el valor de datos para una columna en particular, ese
valor se dice que es nulo, o para contener un valor nulo.
Un nulo es un valor que no est disponible, sin asignar, desconocido, o
inaplicables. Un nulo no es lo mismo que cero o un espacio. El cero es un
nmero, y un espacio es un personaje.
Columnas de cualquier tipo de datos pueden contener valores nulos. Sin
embargo, algunas limitaciones, NOT NULL y PRIMARY KEY, impiden que los
nulos se utilicen en la columna.
En la columna de la COMMISSION_PCT en la tabla EMPLEADOS, observe que
slo un representante de ventas o gerente de ventas puede ganar una
comisin. Otros empleados no tienen derecho a ganar comisiones. Un nulo
representa ese hecho.

Diapositiva 14
El valor nulo en operaciones aritmeticas
Las operaciones aritmeticas que contienen valores
nulos dan como resultados valores nulos.
SELECT last_name, 12*salary*commission_pct
FROM
employees;

1-14

Copyright Oracle Corporation, 2001. All rights reserved.

Valores Nulos (continuacin)


Si cualquier valor de columna en una expresin aritmtica es nulo, el
resultado es nulo. Por ejemplo, si se intenta realizar la divisin por
cero, se obtiene un error. Sin embargo, si se divide un nmero por nulo,
el resultado es un valor nulo o desconocido.
En el ejemplo de la diapositiva, empleado rey no recibe ningn tipo de
comisin. Debido a la columna de la COMMISSION_PCT en la expresin
aritmtica es nulo, el resultado es nulo.
Para obtener ms informacin, consulte Oracle9i SQL, "Elementos bsicos
de SQL."

Diapositiva 15
Definiendo alias en las columnas
Un alias de columna

Cambia el nombre de un encabezado de columna

Requiere comillas dobles si contiene espacios o


caracteres especiales o maysculas y minsculas

Es til con clculos


Para usarlo se deja un espacio Inmediatamente
despus del nombre de la columna - tambin
puede usarse la expresion AS como una palabra
clave entre el nombre de la columna y alias

1-15

Copyright Oracle Corporation, 2001. All rights reserved.

columna Alias
Cuando se muestra el resultado de una consulta, iSQL * Plus normalmente
utiliza el nombre de la columna seleccionada como el ttulo de la
columna. Esta partida no puede ser descriptivo y, por tanto, puede ser
difcil de entender. Puede cambiar un encabezado de columna utilizando un
alias de columna.
Especifique el alias despus de la columna en la lista SELECT utilizando
un espacio como separador. De forma predeterminada, los encabezados de
alias aparecen en maysculas. Si el alias contiene espacios o caracteres
especiales (como # o $), o entre maysculas y minsculas, incluya el
alias entre comillas dobles ("").

Diapositiva 16
Usando el alias de columnas
SELECT last_name AS name, commission_pct comm
FROM
employees;

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


FROM
employees;

1-16

Copyright Oracle Corporation, 2001. All rights reserved.

Los alias de columna (continuacin)


El primer ejemplo muestra los nombres y los porcentajes de las comisiones
de todos los empleados. Ntese que la palabra clave AS opcional se ha
utilizado antes del nombre de alias de columna. El resultado de la
consulta es el mismo si la palabra clave AS se utiliza o no. Observe
tambin que la sentencia SQL tiene el alias de columna, el nombre y la
comunicacin, en minsculas, mientras que el resultado de la consulta
muestra los encabezados de columna en maysculas. Como se mencion en una
diapositiva anterior, ttulos de las columnas aparecen en maysculas por
defecto.
El segundo ejemplo muestra los apellidos y salarios anuales de todos los
empleados. Debido Salario Anual contiene un espacio, se ha encerrado en
comillas dobles. Observe que el ttulo de la columna en la salida es
exactamente el mismo que el alias de columna.
columna Alias
Cuando se muestra el resultado de una consulta, iSQL * Plus normalmente
utiliza el nombre de la columna seleccionada como el ttulo de la
columna. Esta partida no puede ser descriptivo y, por tanto, puede ser
difcil de entender. Puede cambiar un encabezado de columna utilizando un
alias de columna.
Especifique el alias despus de la columna en la lista SELECT utilizando
un espacio como separador. De forma predeterminada, los encabezados de
alias aparecen en maysculas. Si el alias contiene espacios o caracteres
especiales (como # o $), o entre maysculas y minsculas, incluya el
alias entre comillas dobles ("").

Diapositiva 17
Operador de concatenacion

Un operador de concatenacion

Concatena columnas o cadenas de caracteres a


otras columnas

Est representado por dos barras verticales (||)


Crea una columna resultante que es una expresin
de caracteres

Copyright Oracle Corporation, 2001. All rights reserved.

1-17

operador de concatenacin
Puede enlazar columnas a otras columnas, expresiones aritmticas, o
valores constantes para crear una expresin de caracteres mediante el
operador de concatenacin (||). Las columnas a cada lado del operador se
combinan para hacer una columna de salida nica.

Diapositiva 18
Usando el operador de concatenacion

SELECT
FROM

last_name||job_id AS "Employees"
employees;

1-18

Copyright Oracle Corporation, 2001. All rights reserved.

Operador de concatenacin (continuacin)


En el ejemplo, LAST_NAME y JOB_ID se concatenan y se les da a los
empleados de alias. Observe que el empleado apellido y cdigo de trabajo
se combinan para hacer una columna de salida nica.

La palabra clave que antes el nombre de alias hace que la clusula SELECT
ms fcil de leer.

Diapositiva 19
Caracteres literales o concatenacion de
textos.
Un literal es un carcter, un nmero o una fecha
incluida en la lista SELECT.

Valores literales de fecha y de caracteres deben


estar encerrados entre comillas simples.

Cada cadena de caracteres se emite una vez por


cada Fila devuelta.

1-19

Copyright Oracle Corporation, 2001. All rights reserved.

Cadenas de caracteres literales


Un literal es un carcter, un nmero o una fecha que se incluye en la
lista SELECT y que no es un nombre de columna o un alias de columna. Est
impreso para cada fila devuelta. Las cadenas literales de texto sin
formato se pueden incluir en el resultado de la consulta y se tratan de
la misma como una columna en la lista SELECT.
Fecha y caracteres literales deben estar encerrados
simples (''); literales numricos no necesitan.

entre

comillas

Diapositiva 20
Usando cadenas de textos

SELECT last_name ||' is a '||job_id


AS "Employee Details"
FROM
employees;

Copyright Oracle Corporation, 2001. All rights reserved.

1-20

Cadenas de caracteres literales (continuacin)


El ejemplo de la diapositiva muestra apellidos y cdigos de trabajo de
todos los empleados. La columna tiene el Empleado rbrica Detalles.
Observe los espacios entre las comillas simples en la sentencia SELECT.
Los espacios mejorar la legibilidad de la salida.
En el siguiente ejemplo, el apellido y el salario de cada empleado se
concatenan con un literal de dar las filas devueltas ms significado.
SELECT apellidos || ': 1 mes de salario =' || salario mensual
De los empleados;

Diapositiva 21
Registros duplicados
Una salida default de todo SELECT reflejan todas las
filas O registros , incluyendo las filas duplicadas.

SELECT department_id
FROM
employees;

1-21

Copyright Oracle Corporation, 2001. All rights reserved.

filas duplicadas

A menos que usted indique lo contrario, iSQL * Plus


resultados de una consulta sin eliminar filas duplicadas.

muestra

los

El ejemplo de la diapositiva muestra todos los nmeros de departamento de


la tabla EMPLEADOS. Observe que los nmeros de departamento se repiten.

Diapositiva 22
Para eliminar registros duplicados

Se pueden eliminar las salidas duplicadas en los


select usuando la palabra DISTINCT
SELECT DISTINCT department_id
FROM
employees;

1-22

Copyright Oracle Corporation, 2001. All rights reserved.

Filas duplicadas (continuacin)


Para eliminar filas duplicadas en el resultado, incluya la palabra clave
DISTINCT en la clusula SELECT inmediatamente despus de la palabra clave
SELECT. En el ejemplo de la diapositiva, la tabla EMPLEADOS realidad
contiene 20 filas, pero slo hay siete nmeros de departamento exclusivos
de la tabla.
Puede especificar varias columnas tras el calificador DISTINCT. El
calificador DISTINCT afecta a todas las columnas seleccionadas, y el
resultado es cada combinacin distinta de las columnas.
SELECT DISTINCT department_id, job_id
De los empleados;

Diapositiva 23
DISTINCT
Usando el distinct
Se escribe inmeditamente despues del SELECT.
Solo se escribe una solo vez.
El resultado sin duplicados solo es un efecto visual,
si los datos estan duplicados en la tabla, seguiran
duplicados aun cuando la salida nos mueste lo
contrario, el comando select es solo un comando
de consulta, no modifica los datos contenidos en
las tablas.

1-23

Copyright Oracle Corporation, 2001. All rights reserved.

Diapositiva 24
DESPLEGANDO LA ESTRUCTURA DE
LAS TABLAS
Use the iSQL*Plus DESCRIBE command to display
the structure of a table.
DESC[RIBE] tablename

1-24

Copyright Oracle Corporation, 2001. All rights reserved.

Viendo la estructura de tabla


En iSQL * Plus, puede visualizar la estructura de una tabla con el
comando DESCRIBE. El comando muestra los nombres de columna y tipos de
datos, as como si una columna debe contener datos.
En la sintaxis:
nombretabla es el nombre de cualquier tabla, vista existente o sinnimo
accesible para el usuario

Diapositiva 25
Deplegando la estructura de las tablas

DESCRIBE employees

1-25

Copyright Oracle Corporation, 2001. All rights reserved.

Viendo la estructura de tabla (continuacin)


El ejemplo de la diapositiva muestra la informacin sobre la estructura
de la tabla EMPLOYEES.
En el resultado:
Null?
NO NULL
Tipo

indica si la columna debe contener datos;


indica que una columna debe contener datos
muestra el tipo de datos para una columna

Вам также может понравиться