Está en la página 1de 43

CONSULTA DE DATOS

UNIDAD Nº I
Construyendo Consultas Simples

www.iplacex.cl
SEMANA 1 Desarrollo
En este módulo vamos a iniciar los primeros pasos de entendimiento a mi base de datos
y cuál es la forma que me puedo comunicar con él.

 ¿Existe alguien que cuida de la Base de datos?

¿Alguna vez has creado un documento, agregado información en él y luego organizar en


qué carpeta de tu computador debería estar? Si la información y los documentos se
encuentran bien organizados en tu computador, significa que será más fácil acceder a la
información que busques la próxima vez. A esta simple acción se le conoce como
administrar.

Esa misma acción es lo que hace un administrador de base de datos o también conocido
como DBA, quien tiene como rol principal cuidar la integridad y las buenas prácticas con
respecto a la base de datos.

Pero recuerda que cada usuario puede trabajar con la información que almacena en
dichas carpetas.

 Las principales funciones de un DBA:

-Crear y configurar una base de datos relacional.

-Ser responsable de la integridad de los datos y su disponibilidad.

-Diseñar, desplegar y monitorear los servidores de la base de datos.

Como tenemos claro su importante rol en la base de datos, recuerda que cada vez que
tengamos problemas con la base de datos de una empresa en la que estamos
trabajando, debemos contactar con él para que nos pueda ayudar.

 ¿Cómo hacer una búsqueda?

Para realizar la búsqueda en mi base de datos vamos a hacer el siguiente ejercicio


para entender cómo trabaja “MI BASE DE DATOS”.

Una base de datos consta de un conjunto de información que se encuentra


almacenada en una estructura de fichero.

www.iplacex.cl2
Para realizar una búsqueda, debes hacer click en el ícono de lupa del escritorio de tu
computador (en la parte inferior izquierda de la imagen) e ingresar el nombre de lo que
deseas buscar.

Observa que el computador filtra entre todos sus archivos, y encuentra lo que estás
buscando. Recuerda que cuando quieres hacer una búsqueda, debe existir un lenguaje
en común con el que puedas comunicarte con el computador. En este caso, usamos el
lenguaje español.

 Lenguaje específico

Mi Base de Datos tiene un lenguaje específico para que podamos interactuar con él.

Ese lenguaje se le conoce como:

SQL (Structured Query Language) o también llamado como lenguaje de consultas


estructuradas.

www.iplacex.cl3
 SQL

Para entender mejor el concepto de SQL, explicaremos en que consiste.

SQL es un lenguaje estándar e interactivo de acceso a base de datos relacionales que


nos permite especificar diversos tipos de operaciones en ellas, gracias a la utilización de
álgebra y de cálculos relacionales, SQL brinda la posibilidad de realizar consultas con el
objetivo de recuperar información de las base de datos de manera sencilla y efectiva.

Las consultas toman la forma de un lenguaje de comandos que permite eliminar,


seleccionar, insertar y actualizar datos. Cabe destacar que para efectuar esos comandos
debemos averiguar la ubicación en donde se encuentra esos datos.

 Donde inicia Mi Base de Datos

Todo nació hace muchos años…

Todo este concepto nace en una biblioteca antigua donde ya existían millones de
registros almacenados en libros. Esos libros contaban con datos sobre algunas cosechas
y censos de la población.

Lamentablemente su búsqueda era lenta y se demoraba más de lo que ellos pensaban.

Por estos motivos se vio la necesidad de almacenar gran cantidad de información y con
la aparición de los primeros computadores se vio la necesidad crear una base de datos.

Les presento al señor Herman Hollerith fue el creador de la


máquina automática de tarjetas perforadas, también creó la
máquina censadora.

En los años 50’, se crea las citas magnéticas que automatizaban


la información y ofrecían posibilidad de hacer respaldos.

Su desventaja

Solo se podía hacer de forma secuencial, es decir, uno a uno.

En los años 60’, se dio inicio a las primeras bases de datos


llamadas en red y jerárquicas.

www.iplacex.cl4
Larry Ellison: Desarrolló el Relational Software System que hoy en día se conoce como
Oracle Corporation, gracias a esta compañía nació el Sistema de Gestión de Base de
Datos Relacionales (SGBDR o RDBMS).

Cabe destacar que Oracle es uno de los Sistema de Gestión de Base de Datos más
completos que existen, aunque son de uso corporativo.

Edgar Frank Codd: En los años 70’s se definió el modelo relacional en donde su creador
Edgar Frank Codd publicó una serie de reglas para los sistemas de datos relacionales.

Donald D. Chamberlin: El señor Donald D. Chamberlin fue uno de los principales


diseñadores de la especificación del lenguaje de SQL.

www.iplacex.cl5
En los años 80’ SQL empezó a ser estándar en
otros Sistema de Gestión de Base de Datos, ya que
su programación era sencilla.

En los años 90’. Aparece una nueva generación del


Sistema de Gestión de Base de Datos. En esta
década aparecen otros tipos de base de datos,
también se presenta la posibilidad de mezclar los
lenguajes SQL y XML para realizar consultas.

 Actualidad de mi Base de Datos

Hoy en día, los Sistemas de Gestión de Bases de Datos Relacionales han sido liderados
por grandes, como IBM, Oracle y Microsoft.

www.iplacex.cl6
 Conociendo mi entorno de trabajo

Vamos a conocer el ambiente de trabajo en consultas de datos. Empezaremos instalando


y configurando el Sistema Gestor de Bases de Datos Oracle.

Instalaremos la versión 11g Express Edition, versión gratuita.

El objetivo de esta versión es proporcionar un gestor de base de datos (con ciertas


limitaciones) para un uso más bien “amateur”, si necesitas algo más potente existen
versiones empresariales de pago.

Características de esta versión:

Se puede distribuir de forma gratuita.


Una base de datos por máquina.
Puede usar hasta 11 GB de memoria para almacenar datos. Por lo tanto su
tamaño es limitado.
La cantidad máxima de RAM que puede utilizar es de 1 GB.
Disponible para Windows y Linux.
El soporte funciona a través de foros y comunidades, algunas supervisadas por
gente que trabaja en Oracle y por expertos.

 Proceso de Instalación

1. Abre tu navegador:

www.iplacex.cl7
2. Ingresa a la página:

https://www.oracle.com/database/technologies/xe-prior-releases.html

3. Haz click en la versión de Oracle 11g que corresponda al sistema operativo y


arquitectura de tu equipo:

www.iplacex.cl8
4. Acepta los términos y condiciones:

5. Debes tener una cuenta de Oracle.

www.iplacex.cl9
6. Al iniciar la sesión, comenzará la descarga:

7. Luego de descargar y guardar el archivo, inicia la instalación. Extrae el archivo


que se ha descargado:

www.iplacex.cl10
8. Abre el instalador haciendo click en setup.exe:

9. Sigue los pasos de instalación:

www.iplacex.cl11
10. Debes ingresar una contraseña. Debes escoger una password que te sea fácil
recordar, ya que se requerirá para configurar la cuenta administrador (Usuario
SYSTEM) más adelante. Luego continúa con los pasos hasta que finalice la
instalación:

11. El ícono del programa aparecerá en tu escritorio al finalizar la instalación:

www.iplacex.cl12
 Conociendo mi entorno de trabajo

Descargaremos e instalaremos SQL Developer, esta herramienta nos permitirá trabajar


con la base de datos instalada anteriormente.

1. Abre tu navegador e ingresa a la página


https://www.oracle.com/database/technologies/

2. Ingresa a Database Services, Solutions and Features. Luego selecciona


Application Development.

www.iplacex.cl13
3. Haz click en donde dice SQL Developer:

4. Haz click en la versión de SQL Developer que corresponda al sistema operativo y


arquitectura de tu equipo:

www.iplacex.cl14
5. Abre Acepta los términos y condiciones:

6. Abre la carpeta extraída y ejecuta sqldeveloper.exe

www.iplacex.cl15
Esta es la página inicial de Oracle SQL Developer.

1. Lo primero que haremos será crear una conexión. Para eso, haz click en el
símbolo + que se encuentra en la parte superior izquierda:

www.iplacex.cl16
2. Deberás ingresar un nombre para la conexión, usuario y una contraseña:

- Nombre de la conexión: Nombre con que figura en el panel de conexiones


(panel izquierdo).

- Nombre de Usuario: Nombre del usuario con el cual nos conectaremos a la


base de datos. En este caso conectaremos con una cuenta de administrador
(SYSTEM).

- Contraseña: Usaremos la contraseña que dimos al momento de instalar Oracle


11g Express Edition.

www.iplacex.cl17
3. En esta asignatura trabajaremos con el usuario HR (Human Resources), un
usuario de prueba de Oracle que posee datos ficticios que nos permitirán practicar
nuestras sentencias SQL. Por defecto, este usuario no posee contraseña y por
ende, su cuenta se encuentra bloqueada.

Así que una vez conectados como SYSTEM, ingresaremos los siguientes
comandos en la Hoja de Trabajo SQL (Hoja blanca central):

Con el comando ALTER USER HR IDENTIFIED BY iplacex;

Estamos modificando una cuenta de usuario existente (HR) y asignando una


contraseña (iplacex –> reemplazar por la contraseña que desees, pero debes
recordarla con facilidad). Luego, seleccionamos la línea de comando y apretamos
el botón ejecutar (símbolo play de color verde). Se desplegará una ventana inferior
con el mensaje:

User HR alterado.

Vamos por buen camino…

www.iplacex.cl18
4. Ya que se ha modificado HR, debemos crear una nueva conexión. Haz click en el
símbolo + que se encuentra en la parte superior izquierda:

5. Debes volver a colocar Nombre de Conexión, Nombre de Usuario y Contraseña.

6. Por último, nos encontramos en el ambiente de trabajo de la cuenta HR:

www.iplacex.cl19
Conceptos:

SQL está compuesto por comandos, cláusulas, operadores y funciones de


agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y
manipular las bases de datos.

Estructuras de SQL

DDL: Data Definition Language, que permite crear y definir nuevas bases de datos,
campos, etc.

DCL: Data Control Language, que se encarga de definir los permisos sobre los datos.

DML: Data Manipulation Language, permite generar consultas para ordenar, filtrar y
extraer datos de la base de datos.

Data Manipulation Language

El DML o también conocido como Data Manipulation Language, permite la


manipulación de los datos contenidos en las tablas de una base de datos.

INSERT: Inserción de nuevos elementos.

DELETE: Borrando elementos existentes.

UPDATE: Actualizar elementos existentes.

SELECT: Consultar datos dentro de tablas.

Oracle 11G

Ahora que ya sabemos algunos conceptos básicos, vamos a trabajar ingresando


comandos en la base de datos ORACLE 11g.

www.iplacex.cl20
Lenguaje de Manipulación de Datos (DML)

Se ejecuta una sentencia DML cuando:

Se agregan filas a una tabla.

Se modifican las filas de una tabla.

Se eliminan filas de una tabla

• Transacciones: conjunto de sentencias DML que se ejecutan en la Base de Datos.

• Estas sentencias retornan el número de filas afectadas.

Agregando una Nueva Fila a una Tabla

Utilizar INSERT para agregar filas a una tabla.

Sintaxis:

INSERT INTO tabla [(columna [, columna...])]

VALUES (valor [, valor...]);

Donde:

• tabla: es el nombre de la tabla en la cual se desean insertar las nuevas filas.

• columna: es el nombre de la columna en la tabla donde se desea ingresar el nuevo


dato.

• valor: es el nuevo valor para la columna.

La nueva fila a insertar debe contener los valores para cada columna de la tabla.

Se deben enumerar o insertar los valores en el orden por defecto de las columnas de la
tabla.

Dado que la nueva fila a insertar en la tabla debe contener los valores para cada columna
se puede omitir listar las columnas en la cláusula INSERT. En este caso, los valores a
insertar deben ser listados de acuerdo al orden que tengan las columnas en la tabla y se
deben asignar todos los valores para las columnas.

Los valores de caracteres y de fecha se deben escribir entre comillas simples.

www.iplacex.cl21
Ejemplo:

INSERT INTO DEPARTMENTS (department_id, department_name, manager_id,


location_id) VALUES (70, 'Public Relations', 100, 1700);

INSERT INTO DEPARTMENTS VALUES (70, 'Public Relations', 100, 1700);

En el ejemplo, ambas sentencias insertan una nueva fila a la tabla DEPARTMENTS con
el departamento 70. En la primera sentencia se indica en la cláusula INSERT cada
columna de la tabla en donde se insertarán los nuevos valores especificados en la
cláusula VALUES. En la segunda sentencia, sólo se indican los valores a insertar por lo
tanto, se insertarán en el orden por defecto que las columnas tengan en la tabla.

www.iplacex.cl22
Actualizando Datos en una Tabla

Utilice UPDATE para actualizar datos en las tablas de la Base de Datos.

Sintaxis:

UPDATE tabla

SET columna = valor [, columna = valor, ...]

[WHERE condición];

Donde:

• tabla: es el nombre de la tabla que se desea actualiza.

• columna: es el nombre de la(s) columna(s) de la tabla que se desea actualizar.

• valor: es el valor con el que se actualizará la columna. Puede ser un valor literal,
el nombre de una columna o una subconsulta.

• condición: permite identificar las filas que se desean actualizar. Está compuesta
por nombre de columnas, expresiones, constantes, subconsultas y operadores de
comparación.

Se puede actualizar más de una fila y/o una columna (si es necesario). Si se omite la
cláusula WHERE se actualizan todas las filas.

Ejemplo: Actualización de filas que cumplan con una condición

UPDATE employees

SET salary = salary *1.25

WHERE salary < 5000;

En el primer ejemplo, la sentencia actualiza el salario actual de los empleados en 25%


más del valor que posee. La actualización se efectuará para los empleados cuyo salario
sea menos a 5000.

www.iplacex.cl23
Ejemplo: Actualización de todas las filas de la tabla

UPDATE employees

SET hire_date = SYSDATE – 2, salary = salary – (salary * 0.085);

En el segundo ejemplo, la sentencia actualiza la fecha de contrato y el salario de TODOS


los empleados. La fecha de contrato se actualiza en dos días menos a la fecha del
sistema y el salario en 8,5% menos del salario actual.

Ejemplo: Actualización de filas que cumplan con una condición

UPDATE employees

SET department_id = 110

WHERE employee_id IN (103, 104);

En el tercer ejemplo se incluye la cláusula WHERE, esto significa que las filas que
cumplen con la condición serán modificadas. La sentencia actualizará el departamento
con el valor 110 para los empleados con identificación 103 o 104.

www.iplacex.cl24
Eliminando Filas de una Tabla

Utilice DELETE para eliminar filas desde las tablas de la Base de Datos.

Sintaxis:

DELETE [FROM] tabla

[WHERE condición];

Donde:

• tabla: es la tabla que se desea actualizar.

• condición: permite identificar las columnas que se desean eliminar. Está


compuesta de nombre de columnas, constantes, subconsultas y operadores de
comparación.

Si se desean eliminar algunas filas de la tabla se debe incluir la cláusula WHERE.

Ejemplo: eliminando todas las filas de la tabla.

DELETE

FROM EMPLOYEES;

Eliminando todas las filas de la tabla: si se omite la cláusula WHERE se eliminan todas
las filas de la tabla. En el ejemplo, se elimina todas las filas de la tabla EMPLOYEES.

Ejemplo: eliminando filas específicas de la tabla.

DELETE FROM DEPARTMENTS

WHERE department_name = 'Finance';

DELETE EMPLOYEES

WHERE salary BETWEEN 2000 AND 5000;

En el primer ejemplo, se elimina desde tabla DEPARTMENTS la(s) fila(s) cuyo nombre
de departamento sea Finance.

En el segundo ejemplo, se elimina desde tabla EMPLOYEES las filas de los empleados
cuyo salario esté entre los 2000 y 5000.

www.iplacex.cl25
Seleccionando Todas las Columnas

Utilice SELECT permite mostrar los datos de las columnas de las tablas.

Sintaxis:

SELECT * | { [ DISTINCT ] columna|expresión [alias],...}

FROM tabla

[WHERE condición]

[ORDER BY criterio_orden];

Donde:

• SELECT es la cláusula que especifica una o más columnas que se desean


mostrar.

• *: selecciona todas las columnas.

• DISTINCT: permite que los valores duplicados de las columnas se muestren una
vez.

• columna|expresión : selecciona el nombre de la columna o expresión.

• alias: da un nombre de salida a la columna seleccionada (nombre lógico).

• FROM tabla : especifica la tabla que contiene las columnas que se desean
mostrar.

• WHERE condición : permite mostrar las filas que cumplan con la condición.

• ORDER BY criterio_orden : permite mostrar la información ordenada según el


criterio de orden especificado.

www.iplacex.cl26
Ejemplo:

SELECT *

FROM DEPARTMENTS;

Se pueden seleccionar todas las columnas de datos de una tabla usando un asterisco
(*) a continuación de la palabra SELECT.

.… ………………… ..… ..….

.… ………………… ..… ..….

Se pueden seleccionar todas las columnas de datos de una tabla usando un asterisco
(*) a continuación de la palabra SELECT.

www.iplacex.cl27
Ejemplo:

SELECT department_id, location_id

FROM DEPARTMENTS;

..… …….

..… ……

Ejemplo:

SELECT location_id, department_id

FROM DEPARTMENTS;

..…. ..…

..…. ..…

En la cláusula SELECT se especifica las columnas que contienen los datos que se
desean mostrar y en el orden que se desea que aparezcan en la salida.

www.iplacex.cl28
Usando Operadores Aritméticos

Para efectuar cálculos con los datos de las tablas se deben usar expresiones aritméticas.

Una expresión aritmética puede contener nombre de columnas, constantes de valores


numéricos y operadores aritméticos.

Los operadores aritméticos se pueden usar en cualquier cláusula de una sentencia DML
excepto en la cláusula FROM.

Los operadores que se pueden utilizar en una sentencia SQL son:

OPERADOR DESCRIPCIÓN

+ Suma

- Resta

* Multiplicación

/ División

El orden de prioridad de los operadores es la siguiente:

 La multiplicación y la división se ejecutan antes que la suma y resta.

 En los operadores con igual prioridad se ejecutan desde izquierda a derecha.

 Se puede evitar cumplir esa prioridad usando paréntesis; el interior de los


paréntesis es lo que se ejecuta primero.

www.iplacex.cl29
Ejemplo:

SELECT last_name, salary, salary + 300

FROM EMPLOYEES;

………… …… …….

………… …… …….

En el ejemplo, la sentencia muestra el apellido paterno, salario y salario más 300 dólares,
de todos los empleados que existen el tabla EMPLOYEES.

www.iplacex.cl30
Ejemplo:

SELECT last_name, salary, 12*salary+100

FROM EMPLOYEES;

………… …..… ..…….

………… …..… ..…….

En el ejemplo, la sentencia muestra el apellido paterno, salario y el resultado de


multiplicar el valor del salario por 12 y al valor obtenido de esa multiplicación sumarle
100. Por orden de prioridad de los operadores aritméticos primero se resuelve la
multiplicación y posteriormente la suma.

Ejemplo:

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

FROM employees;

www.iplacex.cl31
………… …..… ..…….

………… …..… ..…….


SELECT

Para cambiar el orden de prioridad en que se resuelven los operados, se deben utilizar
paréntesis. Por lo tanto en este ejemplo, la sentencia muestra el apellido paterno, salario
y el resultado de multiplicar por 12 el valor obtenido de la suma del salario más 100.

Definiendo Columnas Alias

Un Alias renombra una columna (su nombre) seleccionada cuando es mostrada. En


otras palabras, ya no saldrá como cabecera, en el informe de salida, el nombre real de
la columna que se está seleccionando sino que se mostrará como nombre el Alias
dado a la columna real.

Es útil cuando en una sentencia SQL se efectúan cálculos. Va inmediatamente a


continuación del nombre de columna de la tabla.

Opcionalmente se puede usar la palabra reservada AS entre el nombre de la columna


y su Alias.

Se requiere utilizar doble comilla si el Alias contiene espacios, caracteres especiales o si


debe ser case-sensitive.

www.iplacex.cl32
Ejemplo:

SELECT last_name AS nombre, commission_pct comm

FROM EMPLOYEES;

……..…… …….

…..……… …….

……..…… …….

………..… …….

www.iplacex.cl33
En el ejemplo, la sentencia muestra el apellido del empleado pero como cabecera en el
informe ya no aparecerá el nombre de la columna que contiene ese dato en la tabla
EMPLOYEES (last_name) sino que aparecerá NOMBRE. Además la sentencia muestra
el porcentaje de comisión que tienen los empleados (columna commission_pct) con el
nombre COMM. Como ve, el uso de la palabra AS es opcional.

Ejemplo:

SELECT last_name, salary "Salario" , salary* 1.25 "Salario Aumentado en 25%"

FROM EMPLOYEES;

………… …….…. …………

………… ……….. ……….

La sentencia del ejemplo muestra el apellido, el salario y el salario aumentado en 25%


para cada empleado. Como cabecera en el informe aparecerá el nombre de la columna
last_name, para el salario aparecerá Salario y para el resultado de la expresión que
calcula el salario aumentado en 25% aparecerá con el nombre Salario Aumentado en
25%.

www.iplacex.cl34
Usando Operador de Concatenación

El operador de concatenación || (dos barras verticales) une columnas y/o cadena de


caracteres literales en otra columna. Esta columna resultante es una EXPRESIÓN de
tipo caracter.

Un literal es un caracter (letra, espacio en blanco o símbolo especial), un Número o Fecha


que está incluida en la sentencia SELECT.

Las fechas y los literales de tipo caracteres que se desean concatenar deben ser escritos
entre comillas simples.

Cada cadena de caracteres es una salida por cada fila recuperada de la tabla.

Ejemplo:

SELECT last_name || ' pertenece al departamento ' || department_id "Detalle de


Empleados"

FROM EMPLOYEES;

…………………..…………………..……

………………………………..…………..

En el ejemplo, la sentencia muestra el apellido de los empleados unido al literal pertenece


al departamento (incluidos espacios en blancos al comienzo y final) y a la identificación
del departamento de cada empleado. La expresión que se obtiene de la concatenación
se visualizará con el alias Detalle de Empleados.

www.iplacex.cl35
Ejemplo:

SELECT 'El salario mensual del empleado ' || last_name || ' es de $ ' || salary AS
salarios

FROM EMPLOYEES;

…………………..………..……………………………….…

………………………………..……………………….……..

La sentencia del ejemplo muestra el Literal El salario mensual del empleado unido al
apellido de los empleados seguido del literal es de $ unido al salario de cada empleado.
La expresión que se obtiene de la concatenación será mostrada con el nombre de
encabezado (alias) SALARIOS.

www.iplacex.cl36
Valores Duplicados en las Columnas

Por defecto cuando en las consultas se obtienen los valores de las columnas que NO
forman parte de la clave primaria se visualizan todas las filas incluyendo las duplicadas.

Para eliminar las filas duplicadas en el resultado de la sentencia SELECT se debe incluir
la palabra DISTINCT inmediatamente después de la palabra SELECT.

Por ejemplo, en la tabla EMPLOYEES un mismo código de departamento se puede


repetir varias veces ya que en ese departamento pueden trabajar varios empleados. Por
ello, en una sentencia SELECT normal si queremos mostrar solo los departamentos
existentes se mostrarán todos los departamentos que existen en la tabla incluyendo los
duplicados. Utilizando DISTINCT como parte de la sentencia SELECT se mostrarán una
sola vez aquellos códigos de departamentos que se repiten en la tabla.

Ejemplo:

En el ejemplo, la sentencia de la izquierda se muestra TODOS los códigos de


departamentos existentes en la tabla EMPLOYEES. En la sentencia de la derecha,
utilizando DISTINCT se muestran los DIFERENTES códigos de departamentos
existentes en la tabla EMPLOYEES, los departamentos que se repiten se muestran una
sola vez.

www.iplacex.cl37
Ordenando las Filas Recuperadas

El orden de las filas recuperadas en una consulta es indefinido. Para ordenar las filas
recuperadas se debe usar la cláusula ORDER BY.

• ASC: ordena en forma ascendente (defecto).

• DESC: ordena en forma descendente.

La cláusula ORDER BY debe ir al final de la sentencia SELECT. Como condición de


ordenamiento se puede especificar una expresión, un alias o una columna.

Ejemplo:

En el ejemplo, las sentencias muestran el apellido, identificación del trabajo y fecha de


contrato de los empleados ordena por fecha de contrato. La sentencia de la izquierda
muestra la información ordenada en forma ascendente y la sentencia de la derecha la
muestra ordenada en forma descendente.

www.iplacex.cl38
Ejemplo:

SELECT employee_id, last_name, salary*12 "Salario Anual"

FROM EMPLOYEES

ORDER BY "Salario Anual" ;

…. …..…….…… ……...

.… ………….… ….…..

La sentencia del ejemplo muestra la identificación, apellido y el salario multiplicado por


12 de cada empleado. Al resultado de la expresión de multiplicar el salario por 12 se le
da el alias Salario Anual. La información se muestra ordenada en forma ascendente por
el resultado de la multiplicación usando el alias.

Limitando las Filas que son Seleccionadas

www.iplacex.cl39
¿Qué se debe hacer si quisiéramos mostrar la identificación del empleado, su apellido,
identificación del trabajo e identificación del trabajo pero sólo de aquellos empleados que
trabajan en el departamento 90?

Para restringir o limitar las filas que deben cumplir con una cierta condición para ser
procesadas por una sentencia SQL (Select, Update, Delete), se debe utilizar la cláusula
WHERE.

Una cláusula WHERE contiene una condición que debe ser evaluada y encontrada.

La cláusula WHERE va a continuación de la cláusula FROM de la sentencia Select o


Delete y a continuación de la cláusula SET de la sentencia Update .

La cláusula WHERE puede comparar valores entre columnas, valores literal, expresiones
aritméticas o funciones.

Sintaxis:

SELECT * | { [DISTINCT] columna | expresión [alias],...}

FROM tabla

[WHERE condición(es)_comparacion];

Sintaxis:

WHERE: restringe la consulta a las filas que deben cumplir con la condición.

condición(es)_comparación: está compuesta de nombre de columnas,


expresiones, constantes y un operador de comparación.

Donde:

La comparación consiste de tres elementos:

• Nombre de columna que servirá como restricción.

• Condición de comparación.

• Nombre de columna, constante o lista de valores con la que se desea comparar.

www.iplacex.cl40
Ejemplo:

SELECT employee_id, last_name, job_id, department_id

FROM EMPLOYEES

WHERE department_id = 90;

En el ejemplo y basados en la pregunta que se efectuó al comienzo, la sentencia muestra


la identificación del empleado, su apellido, identificación del trabajo e identificación del
trabajo de los empleados que trabajan en el departamento 90.

Ejemplo:

SELECT last_name, job_id, department_id

FROM employees

WHERE last_name = 'Whalen';

www.iplacex.cl41
Ejemplo:

SELECT last_name, hire_date

FROM employees

WHERE hire_date > '01/03/2000';

En la condición de comparación se puede usar también cadena de caracteres y fechas


literales:

• Las cadenas de caracteres y fechas literales deben ir entre comillas simples.

• Los valores caracteres son case-sensitive.

• Los valores fechas son format-sensitive.

En los ejemplos, la primera sentencia muestra el apellido e identificación del


departamento del o los empleados cuyo apellido sea igual a Whalen.

La segunda sentencia muestra el apellido y fecha de contrato del o los empleados cuya
fecha de contrato sea mayor al 01 de Marzo del 2000.

www.iplacex.cl42
www.iplacex.cl43

También podría gustarte