Sie sind auf Seite 1von 9

UNSCH- Escuela de Ing.

De Sistemas

I. TEMA:

En esta sección veremos como leer el contenido de una tabla mediante la ejecución de
consultas sencillas a través de la instrucción SELECT.

II. OBJETIVOS ESPECIFICOS:

 Utilizar los comandos SQL de manera que nos permita recuperar la información
de alguna base de datos.
 Aprender a trabajar con las funciones para la manipulación de fechas.
 Realizar conversiones de tipo de datos.
 Manejo de consultas condicionales, haciendo uso del comando between, in, like
 Obtener resultados originados por la selección de uno o varios grupos, haciendo
uso de las funciones de columna.

III. MARCO TEÓRICO

CADENAS DE CARACTERES (VARCHAR(N)):


Se delimitan utilizando comillas simples: ‘Hola’, ‘Una cadena’. Además de los
operadores de comparación e igualdad (<, >, =, !=, ...) otras funciones útiles para
trabajar con cadenas son:

 cad || cad : concatena dos cadenas.


 LENGTH(cad): devuelve la longitud de la cadena.
 LOWER(cad): convierte todas las letras de la cadena a minúsculas.
 UPPER(cad): convierte todas las letras de la cadena a mayúsculas.

MANEJO DEL FORMATO FECHA (DATE):

El formato de un valor de tipo DATE es: ‘dia-mes-año’, donde tanto el día como el año
tiene formato numérico y el mes se indica con las tres primeras letras del nombre del
mes en el idioma soportado por el servidor ORACLE.
Ejemplos: ‘1-JAN-2010’, ‘28-jul-2012’.

La conversión de tipos explícita se realiza básicamente con las siguientes funciones:

 Conversión número-cadena: TO_CHAR(número [, formato]).


 Conversión cadena-número: TO_NUMBER(cadena [,formato]).
 Conversión fecha-cadena: TO_CHAR(fecha [, formato]).
 Conversión cadena-fecha: TO_DATE(cadena [, formato]).

Modelamiento de datos 1 Prof. Elvira Fernández


UNSCH- Escuela de Ing. De Sistemas

La opción formato permite especificar un modelo de formato o máscara consistente en


una cadena de caracteres que describe el formato en el que se quiere obtener el resultado
o en el que se da el parámetro. Algunos ejemplos de la utilización de estas funciones
son:

Conversión fecha-cadena: TO_CHAR(fecha [, formato]).

Elementos de Formato fecha


YYYY Año completo en número
YEAR Año deletreado
MM Valor de dos dígitos para el mes
MONTH Nombre completo del mes
DD Número del día en el mes
DAY Nombre del día
D Número del día en la semana

Ejemplo:
· TO_CHAR('25-dic-2017', 'YY') devuelve '17'.
· TO_CHAR(SYSDATE, 'dd-mon-yyyy') devuelve '10-may-2017'.

IMPLEMENTACION DE CONSULTAS BÁSICAS

LA INSTRUCCIÓN SELECT

La cláusula SELECT lista los datos a recuperar por la sentencia


SELECT. Los elementos o datos a seleccionar pueden ser columnas de
la base de datos o columnas a calcular por SQL cuando efectúa la
consulta o también el asterisco(*) para recuperar todos los campos de
un fichero o tabla.

SINTAXIS COMPLETA:

SELECT [ALL|DISTINCT] ListaColumnas


FROM listado de tablas
[WHERE condiciónBúsqueda][ROWNUM]
[ORDER BY {columna, expresión, alias} [ASC / DESC] ]
[GROUP BY [ALL]expresiónAgruparPor]
[[HAVING condiciónBúsqueda]
AVG | COUNT | MAX | MIN |SUM (expresión)]

IV. DESARROLLO

CASO PRÁCTICO

Modelamiento de datos 2 Prof. Elvira Fernández


UNSCH- Escuela de Ing. De Sistemas

Se tiene la siguiente estructura de un modelo físico de datos,


para ello crear un tablespace y un esquema ventas.

EJEMPLO1:

El siguiente ejemplo retorna todas las columnas y filas de la tabla PRODUCTOS

SELECT * FROM PRODUCTO

LECTURA DE COLUMNAS SELECCIONADAS DE UNA TABLA:

EJEMPLO2:
El ejemplo siguiente retorna las columnas idProducto, nombre, unidadMedida y
precioProveedor de la tabla Producto.

SELECT nombre,unidadMedida , precioProveedor


FROM producto

DEFINIENDO ALIAS PARA LOS NOMBRES DE COLUMNA

Un alias define títulos alternativos para los nombres de columna. Si el Alias es una
frase(contiene espacios) debe escribirse entrecomillada.

EJEMPLO3:

Modelamiento de datos 3 Prof. Elvira Fernández


UNSCH- Escuela de Ing. De Sistemas

SELECT idProducto AS Código,


Nombre AS Descripción,
unidadMedida AS Unidad,
precioProveedor AS "Precio Unitario"
FROM producto

DEFINIENDO COLUMNAS COMPUTADAS

Una columna computada es una columna que se muestra en el resultado


de una consulta, pero no existe físicamente como tal en la tabla. La
columna computada muestra el resultado de ejecutar alguna operación con
las columnas de la tabla.

Ejemplo4: El siguiente ejemplo retorna las columnas idProducto,


Nombre, precioProveedor, y el campo calculado ‘Precio con
descuento’ = precioProveedor*0.9 de la tabla producto.

SELECT idProducto AS Código,


Nombre AS Descripción,
unidadMedida AS Unidad,
precioProveedor AS "Precio Unitario ",
precioProveedor*0.90 as "Precio con Descuento "
FROM producto

WHERE
La cláusula WHERE dice a SQL que incluya sólo ciertas filas o registros
de datos en los resultados de la consulta, es decir, que tiene que cumplir los
registros que se desean ver.

OPERADORES LOGICOS

OPERADOR USO
AND Es el “y” lógico. Evalúa dos condiciones y devuelve
un valor de verdad sólo si ambas son ciertas
OR Es el “o” lógico. Evalúa dos condiciones y devuelve
un valor de verdad si alguna de las dos es cierta
NOT Negación Lógica. Devuelve el contrario de la
expresión

Ejemplo5:El siguiente ejemplo retorna las columnas


IdProveedor,Nombre,Representante,Ciudad de la tabla Proveedor.

El ejemplo sólo retorna las filas de los proveedores que residen en el


callao

Modelamiento de datos 4 Prof. Elvira Fernández


UNSCH- Escuela de Ing. De Sistemas

Ejemplo6: El siguiente ejemplo retorna las columnas


IdProveedor,Nombre,Representante,Ciudad de la tabla Proveedor.
El ejemplo sólo retorna las filas de los proveedores que residen en el
callao o Arequipa

EJERCICIO1:
El siguiente ejemplo retorna todas las columnas de la tabla de productos. El
ejemplo sólo retorna las filas de los productos con idproveedor igual a 5 y además
tenga como IDCATEGORIA igual a 5.

EJERCICIO2:
Mostrar los datos del proveedor que sea representante igual a GORDILLO
BARRIGA, SANCHO.

EJERCICIO3:
Mostrar el nombre, apellidos y fecha de nacimiento de la tabla Empleado, si la
fecha de nacimiento es igual 1975

EJERCICIO4:
Mostrar las columnas nombre, apellidos y el año de la tabla Empleado, si la fecha
de nacimiento es igual 1975 o nombre del empleado es igual a JACINTO.

EJERCICIO5:
Mostrar el nombre, apellidos, fecha de nacimiento y edades de la tabla Empleados
si la edad comprende entre 20-32 años

EJERCICIO6:
Mostrar el nombre y apellido del empleado en una solo columna, y dar como
nombre a la nueva columna “Nombres y Apellidos, ”, mostrar también la fecha de
nacimiento.

Modelamiento de datos 5 Prof. Elvira Fernández


UNSCH- Escuela de Ing. De Sistemas

EJERCICIO7:
seleccionar los empleados ordenados alfabéticamente por el nombre

EJERCICIO8:
seleccionar los PROVEEDORES ordenados alfabéticamente por el campo
representante y descendentemente por el departamento

EJERCICIO9:
Mostrar el nombre en minúscula y los apellidos del empleado en mayúscula en
una solo columna, y la edad, ordenados por la edad de mayor a menor.

EJERCICIO8:
Mostrar la Ciudad y Departamento en una solo columna, cuyo nombre de la nueva
columna es Ubicación, de la tabla PROVEEDOR.

ROWNUM
Devuelve, en una consulta, el número de fila actual. Resulta útil para limitar número
total de filas y se usa principalmente en la cláusula where de las consultas.

EJERCICIO9:

Supongamos que queremos recuperar los nombres de los 5 primeros proveedores ,


ordenado ascendentemente por departamento

SELECT IdProveedor,Nombre
FROM PROVEEDOR
Where ROWNUM <6
ORDER BY Departamento DESC

EJERCICIO9:

Muestréame el empleado que tenga el haber básico más alto

EJERCICIO10:
Muéstrame los 3 productos más baratos (nombre y precio).

Modelamiento de datos 6 Prof. Elvira Fernández


UNSCH- Escuela de Ing. De Sistemas

CONSULTAS CONDICIONALES
BETWEEN
Para indicar que deseamos recuperar los registros según el intervalo de valores de un
campo emplearemos el operador Between cuya sintaxis es:

CAMPO [NOT] BETWEEN VALOR1 AND VALOR2


(LA CONDICION NOT ES OPCIONAL)
En este caso la consulta devolvería los registros que contengan en “campo” un valor
incluido en el intervalo Valor1, Valor2 (ambos inclusive). Si anteponemos la condición
NOT devolverá aquellos valores no incluidos en el intervalo.

EJERCICIO1:
El siguiente ejemplo retorna todas las columnas de la tabla productos. El ejemplo
solo retorna las filas de los productos que tengan un precio comprendido entre 12 y
20 soles

EJEMPLO 1: El siguiente ejemplo es similar al anterior. Se utiliza BETWEEN


que especifica el intervalo inclusivo que se va a probar.

SELECT IdProducto as Codigo,Nombre as “Descripcion”,PrecioProveedor as


“Precio Unitario”
FROM PRODUCTo
WHERE PrecioProveedor BETWEEN 12 AND 20

EJERCICIO2:
Mostrar los empleados que ganan el haber basico entre 1000 y 2000

EJERCICIO3:
El siguiente ejercicio retorna las columnas de la tabla producto. El ejemplo solo
retorna las filas de los productos de los precios que no estén comprendidos entre 10
y 50 soles

IN
Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de
una lista. Su sintaxis es:

EXPRESIÓN [NOT] IN (VALOR1, VALOR2,…)

EJERCICIO4:
El siguiente ejemplo retorna todas las columnas de la tabla productos. EL ejemplo
solo retorna las filas de los productos que pertenezcan a las categorías 1,3 o 5

EJEMPLO2:El siguiente ejemplo es similar al ejemplo 15 se utiliza IN que


determina si un valor dado coincide con algún valor de una subconsulta o lista.

Modelamiento de datos 7 Prof. Elvira Fernández


UNSCH- Escuela de Ing. De Sistemas

SELECT *
FROM PRODUCTO
WHERE IdCategoria IN(1,3,5)

EJERCICIO5:
Consultar todos los PROVEEDORES que vivan en las ciudades de Lima, Trujillo
Y Arequipa.

LIKE
Se utiliza para comparar una expresión de cadena con un modelo específico. Sirve para
comparar parcialmente los valores de un campo

Su sintaxis:

EXPRESION LIKE MODELO

En donde expresión es una cadena modelo o campo contra el que se compara expresión.
Se puede utilizar el operador LIKE para encontrar valores en los campos que coincidan
con el modelo especificado. Por modelo también se puede especificar un valor
completo, o se pueden utilizar caracteres comodín para encontrar un rango de valores de
la siguiente forma:

EJEMPLO 4 : Consultar todos los Empleados que tengan como apellido Paterno
igual a Cardenas.

SELECT IdEmpleado as codigo, Nombres,ApePat, ApeMat, FechaNacimiento


FROM empleado
WHERE ApePat like 'Cardenas'

A continuación presentaremos los distintos caracteres comodín para posteriormente


comprobar las expresiones con diferentes modelos.

Carácter Descripción
Comodín
% Cualquier cadena de cero o más caracteres
- Cualquier carácter individual
(Subrayado)

El operador Like se puede utilizar en una expresión para comparar un valor de un


campo con una expresión de cadena. Por ejemplo, si introduce Like c% en una consulta
SQL, la consulta devuelve todos los valores de campo que comiencen por la letra C. en
una subconsulta con parámetros, puede hacer que el usuario escriba el modelo que se va
utilizar.

EJERCICIO6:
Este ejemplo devuelve los nombres cuyo contenido empiece con la letra A y la
tercera letra también sea el carácter A, seguida de cualquier cadena.

Modelamiento de datos 8 Prof. Elvira Fernández


UNSCH- Escuela de Ing. De Sistemas

EJERCICIO7:
El siguiente ejercicio retorna todas las columnas de la tabla productos. El ejemplo
sólo retorna las filas de los Productos que no empiece con F o C como carácter
inicial en el nombre del producto.

EJERCICIO8:
el siguiente ejemplo retorna las columnas idProveedor, nombre, representante,
ciudad y departamento de la tabla Proveedores. El ejemplo sólo retorna las filas de
los Proveedores que tengan los caracteres “a” al final de la columna ciudad.

TAREA PARA CASA

Realizar 10 consultas básicas, del modelo anterior dejado en lab 04.

Modelamiento de datos 9 Prof. Elvira Fernández

Das könnte Ihnen auch gefallen