Sunteți pe pagina 1din 22

ESCRIBIENDO SENTENCIAS SELECT SQL BASICAS

OBJETIVOS

Después de completar esta lección, estará en la


capacidad de hacer lo siguiente:

Listar las capacidades de sentencias SELECT SQL.

Ejecutar una sentencia SQL básica.


Diferenciar entre sentencias SQL y comandos
iSQL*Plus
CAPACIDADES DE SENTENCIAS SQL

Una sentencia SELECT recupera información desde la base de datos.

Usando sentencias SELECT, podemos hacer lo siguiente:

 Proyección: Podemos usar la capacidad de proyección en SQL para elegir las


columnas en un tabla que queremos retornar par nuestra consulta.

Podemos elegir las columnas que sean necesarias.

 Selección: podemos usar la capacidad de selección en SQL para elegir las filas en
una tabla que queremos retornar en nuestra consulta.

Podemos usar varios criterios para restringir las filas que deseamos ver.

 Unión (Joining): Podemos usar la capacidad de unión en SQL para traer datos que
están almacenados en diferentes tablas creando un enlace entre ellas.
SENTENCIA SELECT BASICA

SELECT * | {[DISTINCT] column | expresión [alias],…}


FROM table;

 SELECT identifica que columnas

 FROM identifica cual tabla

En esta forma simple, una sentencia SELECT debe incluir lo siguiente:

 Una cláusula SELECT, la cual especifica las columnas a ser mostradas

 Una cláusula FROM, la cual especifica la tabla que contiene las columnas
listadas en la cláusula SELECT.
SENTENCIA SELECT BASICA
SELECT * | {[DISTINCT] column | expresión [alias],…}
FROM table;

En la sintaxis:

 SELECT es una lista de una o mas columnas

 * selecciona todas las columnas

 DISTINCT suprime valores duplicados

 Column | expresión seleccionar columnas o expresiones

 Alias da a las columnas seleccionadas diferentes títulos

 FROM table especifica la tabla conteniendo las columnas


SELECCIONANDO TODAS LAS COLUMNAS

SELECT *
FROM departments;

Podemos mostrar todas las columnas de datos en una tabla poniendo después de las
palabra clave SELECT un asterisco (*)

También podemos mostrar todas las columnas en la tabla listando todas las columnas
después de la palabra clave SELECT.
SELECCIONANDO COLUMNAS ESPECIFICAS

SELECT department_id, location_id


FROM departments;

Podemos usar la sentencia SELECT para mostrar columnas específicas de la tabla,


especificando los nombres de columna separados por comas.

En la cláusula SELECT, especificamos las columnas que queremos, en el orden en el


cual queremos que ellas aparezcan en la salida.
ESCRIBIENDO SENTENCIAS SQL

Usando las siguientes reglas simples, podemos construir sentencias validas que son
fáciles de leer y fáciles de editar.

 Sentencias SQL no son case sensitive

 Sentencias SQL pueden escribirse en una o mas líneas

 Palabras claves no pueden ser abreviadas o divididas entre líneas

 Las cláusulas son usualmente puestas en líneas separadas

 Indentacion es usada para mejorar la lectura de la sentencia y su edición.

 Palabras claves típicamente son escritas en letras mayúscula, el resto de palabras, como el
nombre de las tablas y columnas, son ingresadas en letras minúsculas.

Ejecutando Sentencias SQL


Usando iSQL*Plus, clic en el botón Execute(Ejecutar) para ejecutar el comando o comandos en la
ventana de edición.
TITULOS DE COLUMNAS POR DEFECTO

ISQL*Plus :
 Justificación de títulos por defecto: Centrado

 Display de títulos por defecto: Mayúsculas

SQL*Plus:
 Títulos de columnas de fechas y caracteres son justificadas a la izquierda

 Títulos de columnas numéricas son justificadas a la derecha

 Display de títulos por defecto: Mayúsculas.


EXPRESIONES ARITMETICAS

Cree expresiones aritméticas con datos numéricos y de fecha, usando operadores


aritméticos

+ Suma
- Substracción
* Multiplicación
/ División

Una expresión aritmética puede contener nombres de columnas, constantes numéricas,


y operadores aritméticos.

Podemos usar los operadores aritméticos en cualquier cláusula de una sentencia SQL,
excepto en la cláusula FROM.

Oracle ignora los espacios en blanco antes y después de un operador aritmético.


USANDO OPERADORES ARITMETICOS

SELECT last_name, salary, salary +300


FROM employees;
PRECEDENCIA DE OPERADORES

* / + -

Multiplicación y división toman prioridad sobre adición y sustracción

Operadores de la misma prioridad son evaluados de derecha a izquierda

Paréntesis son usados para forzar la evaluación de prioridad y para clarificar


sentencias.
PRECEDENCIA DE OPERADORES

SELECT last_name, salary, 12*salary + 100


FROM employees;

USANDO PARENTESIS

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


FROM employees;

Podemos anular las reglas de precedencia usando paréntesis para especificar el


orden en el cual los operadores son ejecutados.
DEFINIENDO VALORES NULOS

Un nulo(null) es un valor que no esta disponible, no esta asignado, desconocido o


inaplicable

Un nulo(null) no es lo mismo que cero o un espacio en blanco. Cero es un numero, y


un
espacio es un carácter

SELECT last_name, job_id, salary, commission_pct


FROM employees;

Si una fila carece de un valor para una columna particular, se dice que este valor es
nulo(null)

Columnas de algún tipo de dato puede contener nulos. Sin embargo, algunos
constraints, NOT NULL y PRIMARY KEY, previenen del uso de valores nulos en
una columna
VALORES NULOS EN EXPRESIONES ARITMETICAS

Expresiones aritméticas conteniendo un valor nulo (null) se evalúan a nulo (null)

SELECT last_name,12*salary*commission_pct
FROM employees;

Si algún valor de una columna en una expresión aritmética es nulo (null), el resultado
es nulo (null)

Por ejemplo, si intentamos ejecutar una división con cero, obtenemos un error. Sin
embargo, si dividimos un número por null, el resultado es null o desconocido.
DEFINIENDO UN ALIAS DE COLUMNA

Un alias de columna:

 Renombra el titulo de una columna

 Es útil con cálculos

 Especificamos el alias después de la columna en la lista SELECT usando un


espacio como separador.

 Podemos también usar la palabra clave AS ,que es opcional, entre el nombre de la


columna y el alias

 Requiere comillas dobles (“ “) si este contiene espacios o caracteres especiales


(#,$) o es case sensitive.

Cuando mostramos el resultado de una consulta, ISQL*Plus normalmente usa el


nombre de la columna seleccionada como el titulo de la columna.

Este titulo puede no ser descriptivo y puede ser difícil de entender

Podemos cambiar el titulo de una columna usando alias de columnas.


USANDO ALIAS DE COLUMNAS

SELECT last_name AS Nombre, commission_pct comm


FROM employees;

SELECT last_name “Nombre”, salary*12 “Salario Anual”


FROM employees;
OPERADOR DE CONCATENACION

Un operador de concatenation:

 Concatena columnas o cadenas de caracteres a otras columnas

 Se representa por dos barras verticales (||)

 Crea una columna resultante que es una expresión de caracteres.

 Podemos enlazar columnas a otras columnas, expresiones aritméticas, o valores


constantes para crear una expresión de caracteres usando el operador de
concatenación (||)
USANDO EL OPERADOR DE CONCATENACION

SELECT last_name || job_id AS


“Empleados”
FROM employees;
LITERALES DE CADENA DE CARACTERES

 Un literal es un caracter, un número, o una fecha incluido en la lista SELECT.

 Los valores de literales de fechas y caracteres deben ser encerrados entre comillas
simples(‘’)

 Cada cadena de caracteres es mostrada una vez por cada fila retornada

Un literal es un carácter, un numero, o una fecha que es incluido en la lista SELECT y


que no es un nombre de columna o un alias de columna.

Es impreso por cada fila retornada.


USANDO LITERALES DE CADENAS DE CARACTERES

SELECT last_name || ‘ es un ‘ || job_id AS “Detalle de Empleado”


FROM employees;

SELECT last_name || ‘ : 1 mes de salario= ‘ || salary Mensualidad


FROM employees;
FILAS DUPLICADAS

Las consultas muestran por defecto todas las filas, incluyendo filas duplicadas

SELECT department_id
FROM employees;

Al menos que indiquemos lo contrario, iSQL*Plus muestra el resultado de una consulta


sin eliminar filas duplicadas.
ELIMINANDO FILAS DUPLICADAS

Eliminamos filas duplicadas usando la palabra clave DISTINCT en la cláusula


SELECT.

SELECT DISTINCT department_id


FROM employees;

Para eliminar filas duplicadas en un resultado, debemos incluir la palabra clave


DISTINCT en la cláusula SELECT inmediatamente después de la palabra clave
SELECT.

Podemos especificar múltiples columnas después del cualificador DISTINCT.

El cualificador DISTINCT afecta a todas las columnas seleccionadas, y el resultado es


cada distinta combinación de las columnas.

S-ar putea să vă placă și