Académique Documents
Professionnel Documents
Culture Documents
Esquema de HR
Descripcin de Tablas
Sintaxis:
Select .- Identifica los columnas que se van a desplegar.
From.- identifica la tabla que contiene los campos.
Column/expression.- Selecciona los nombres de las
comunas o expresiones.
DISTINCT.- Suprime duplicados.
Alias.- da un nombre diferente a la columna
seleccionada
Seleccin de columnas
Utilizando Operaciones
matemticas
Operador Precedente
Usando Alias
Registros Duplicados
Sintaxis:
Where.- Restringe la consulta para filas que
cumplen una condicin.
Logical Expression.- Esta definida por nombres de
columnas, constantes y operador de comparacin.
En donde se especifica una combinacin de una o
ms expresiones y Operadores booleanos que
retornan un valor verdadero, falso o desconocido
Operadores de
comparacin
Sintaxis:
Where expr operador valor
Comparacin de Valores
Operador Between
Operador In
Operador Like
Like se usa para Buscar valores dentro
de una cadena de caracteres
Utilizando el Operador
NOT
El Operador NOT se puede utilizar
tambin con otros operadores SQL,
tales como: BETWEEN, LIKE, Y NULL.
Ejemplo:
Reglas de Precedencia o
orden
Reglas de Precedencia
Reglas de Precedencia
Reglas de Precedencia
Utilizando la clausula
order by
Test
Preguntas
Conjunto de Operaciones para obtener
una determinada informacin de la
base de datos.
R: Consultas
En el Modelo E-R adjetivo que define
una caracterstica de una entidad.
R: atributo
Test
Conjunto de Normas que establecen
limitaciones del modelo. Lo que el
modelo no puede hacer.
R: Restricciones
Test
Test
Restriccin de datos en
consultas bsicas de SQL
Restriccin de datos
Limitar las filas recuperadas por una
consulta:
La clusula WHERE
1.- Los operadores de comparacin: =,
<=,
BETWEEN, IN, LIKE.
2.- Utilizando las Condiciones lgicas
AND, OR y
NOT
Restriccin de datos
Limitar filas utilizando una seleccin:
Restriccin de datos
Restringir las filas recuperadas
utilizando la clusula Where:
Donde:
Where.-Restringe la consulta a las filas que cumplen una
condicin.
logical expression.- Compuesta de nombres de columna,
constantes y un operador de comparacin. Especifica una
combinacin de una o ms expresiones y operadores
booleanos y devuelve un valor de Verdad.
Restriccin de datos
Restriccin de datos
Ordenar de datos
Ordenar filas utilizando la clusula
ORDER BY:
Ordenar de datos
Clasificar en orden descendente
Ordenar de datos
Clasificacin por usar posicin numrica
de la columna
Funciones
Restriccin de datos
Utilizando Funciones
Las funciones :
1.- Reciben argumentos y devolver un
valor
2.- Retorna un resultado por fila
3.- Puede modificar el tipo de datos
4.- Acepta argumentos que pueden ser
una columna o una expresin
5.- Se pueden anidar o combinar.
Funciones de carcter
Funciones de carcter
Funciones de carcter
Funciones numricas
Funciones numricas
Funciones numricas
Funciones numricas
Funciones
Funciones
Select Sum(total) As suma_pedidos
From pedidos
Select Sum(cantidad) as
suma_articulos
From pedidos Where id_articulo=6
Funciones generales
Funciones de la
jerarquizacin
Funciones de una sola fila se pueden
anidar a cualquier nivel.
Las funciones anidadas se evalan
desde el nivel ms profundo al nivel
menos profundo.
Funciones de la
jerarquizacin
Sintaxis
Funciones de Grupo
Puede utilizar AVG y SUM para los
datos numricos.
Formatos de la funcin
COUNT
La funcin COUNT tiene tres formatos:
COUNT (*) devuelve el nmero de filas de una tabla que satisfacen los criterios de
la sentencia SELECT, incluidas las filas duplicadas y las filas que contienen valores
nulos en cualquiera de las columnas. Si una clusula WHERE se incluye en la
instruccin SELECT, COUNT (*) devuelve el nmero de filas que satisfacen la
condicin en la clusula WHERE.
Por el contrario, COUNT (expr) devuelve el nmero de valores no nulos que estn
en la columna identificada por expr.
COUNT (DISTINCT expr) devuelve el nmero de valores nicos, no nulos que estn
en la columna identificada por expr
Formatos de la funcin
COUNT
Funciones anidamiento de
grupos
Sintaxis
Ejemplo
Operador UNION
1.- El nmero de columnas seleccionadas deben ser el
mismo en las consultas.
2.- Los tipos de datos de las columnas deben estar en el
mismo grupo de tipos de datos (como numrico o de
caracteres).
3.- Los nombres de las columnas no tienen que ser
idnticos.
Operador UNION
Operador UNION
Considere el siguiente ejemplo
Operador UNION
Considere el siguiente ejemplo
Operador INTERSECT
Utilice el operador INTERSECT para devolver todas las filas
que son comunes a varias consultas.
Directrices
El nmero de columnas y los tipos de datos de las
columnas que se seleccionan por las sentencias SELECT
en las consultas deben ser idnticos en todas las
sentencias SELECT utilizadas en la consulta. Los nombres
de las columnas, sin embargo, no tienen por qu ser
idnticos.
Invertir el orden de las tablas intersecadas no altera el
resultado.
INTERSECT no ignora los valores NULL
Operador INTERSECT
Operador MINUS
Muestra los employees ids de los empleados que no han
cambiado sus puestos de trabajo ni una sola vez
Manipulacin de Datos
Sentencia INSERT
Aade nuevas filas a una tabla. El
formato de la sentencia INSERT es:
Sentencia INSERT
1.- Inserta una nueva fila que contiene los
valores para cada columna.
2.- Los valores de la lista deben estar en el
orden
predeterminado de las columnas de la
tabla.
3.- De forma opcional, se puede definir la lista
de
las columnas a insertar en la clusula
INSERT.
Sentencia INSERT
Test
Test
Usando una sub consulta es
equivalente a realizar dos consultas
secuenciales y usando el resultado de
la primera consulta como los valores
de bsqueda en la segunda consulta
a.- Verdadero
b.- Falso
Test
Usando una sub consulta es
equivalente a realizar dos consultas
secuenciales y usando el resultado de
la primera consulta como los valores
de bsqueda en la segunda consulta
a.- Verdadero
b.- Falso
Test
Tres de los siguientes operadores son
vlidos para la condicin WHERE.
Cules?
a.- >=
b.- !=
d.- IS LIKE
c.- IN BETWEEN
e.- <>
Test
Tres de los siguientes operadores son
vlidos para la condicin WHERE.
Cules?
a.- >=
b.- !=
d.- IS LIKE
c.- IN BETWEEN
e.- <>
Test
Identificar las dos consultas SELECT
que se ejecutan con xito
Test
Identificar las dos consultas SELECT
que se ejecutan con xito
Test
Qu hay de malo con esta
afirmacin?
Test
Cul ser el resultado de la siguiente
funcin?
ROUND(144.24,-1)
a. - 140 b. - 144
c. - 150 d. 100
Test
Cul ser el resultado de la siguiente
funcin?
ROUND(144.24,-1)
a. - 140 b. - 144
c. - 150 d. 100
Test
Cul de las siguientes afirmaciones es
verdadera con respecto a la funcin COUNT?
a.- COUNT (*) Cuenta los valores duplicados y los valores
NULL en columnas de cualquier tipo de datos.
b.- La Funcin COUNT no puede trabajar con tipos de
datos de fecha.
c.- COUNT (DISTINCT job_id) devuelve el nmero de filas
con exclusin de las filas que contienen los duplicados y
los valores NULL en la columna job_id.
d.- Una instruccin SELECT utilizando la funcin CONTAR
con una palabra clave DISTINCT y no se puede incluir una
clusula WHERE.
Test
Cul de las siguientes afirmaciones es
verdadera con respecto a la funcin COUNT?
a.- COUNT (*) Cuenta los valores duplicados y los valores
NULL en columnas de cualquier tipo de datos.
b.- La Funcin COUNT no puede trabajar con tipos de
datos de fecha.
c.- COUNT (DISTINCT job_id) devuelve el nmero de filas
con exclusin de las filas que contienen los duplicados y
los valores NULL en la columna job_id.
d.- Una instruccin SELECT utilizando la funcin CONTAR
con una palabra clave DISTINCT y no se puede incluir una
clusula WHERE.
Test
Cul de las siguientes opciones muestra relaciones correctas
entre el criterio de bsqueda de datos, dentro de una base de
datos utilizando la clusula WHERE y la funcin de cada uno?
Test
Cul de las siguientes opciones muestra relaciones correctas
entre el criterio de bsqueda de datos, dentro de una base de
datos utilizando la clusula WHERE y la funcin de cada uno?
Test
Identifique dos conceptos para las funciones de
grupo y la clusula GROUP BY.
a.Ud. no puede utilizar un alias de columna en la clusula
GROUP BY.
b.La columna GROUP BY debe estar en la clusula SELECT.
c.Mediante el uso de una clusula WHERE, puede excluir
Test
Identifique dos conceptos para las funciones de
grupo y la clusula GROUP BY.
a.Ud. no puede utilizar un alias de columna en la clusula
GROUP BY.
b.La columna GROUP BY debe estar en la clusula SELECT.
c.Mediante el uso de una clusula WHERE, puede excluir
Test
Suponiendo que los apellidos de los empleados
estn bien registrados en la tabla, cul ser el
resultado de la siguiente consulta?
SELECT employee_id, last_name, department_id
FROM employees WHERE last_name = 'smith';
a.- Puede mostrar los detalles del empleado con el
ltimo nombre que Smith
b.-Le dar ningn resultado.
c.-Le dar los detalles para que el empleado tenga el
apellido que 'Smith' en minsculas.
d.-Le dar los detalles del empleado tenga el
apellido 'Smith'.
Test
Suponiendo que los apellidos de los empleados
estn bien registrados en la tabla, cul ser el
resultado de la siguiente consulta?
SELECT employee_id, last_name, department_id
FROM employees WHERE last_name = 'smith';
a.- Puede mostrar los detalles del empleado con el
ltimo nombre que Smith
b.-Le dar ningn resultado.
c.-Le dar los detalles para que el empleado tenga el
apellido que 'Smith' en minsculas.
d.-Le dar los detalles del empleado tenga el
apellido 'Smith'.
Test
Usted necesita saber cuales son los empleados
que pertenecen al departamento de 'Jessica
Butcher' y tienen sueldo mayor que el salario de
'Jessica Butcher', ella tiene un ID de empleado
nmero 40. Cul de las siguientes consultas va
a funcionar?
a.- SELECT first_name, last_name
FROM employees
WHERE last_name = 'Butcher'
AND first_name = 'Jessica'
AND salary > 10000;
Test
Usted necesita saber cuales son los empleados
que pertenecen al departamento de 'Jessica
Butcher' y tienen sueldo mayor que el salario de
'Jessica Butcher', ella tiene un ID de empleado
nmero 40. Cul de las siguientes consultas va
a funcionar?
b.- SELECT first_name, last_name
FROM employees
WHERE department = 100;
Test
Usted necesita saber cuales son los empleados que
pertenecen al departamento de 'Jessica Butcher' y
tienen sueldo mayor que el salario de 'Jessica
Butcher', ella tiene un ID de empleado nmero 40.
Cul de las siguientes consultas va a funcionar?
c.- SELECT first_name, last_name FROM employees
WHERE department = (SELECT department FROM employees
WHERE first_name = 'Jessica AND last_name
= 'Butcher'
AND employee_id = 40)
AND salary > (SELECT salary FROM employees
WHERE first_name = 'Jessica AND last_name = 'Butcher'
AND employee_id = 40);
Test
Identifique dos ideas de los operadores establecidos.
a. Las expresiones en las consultas SELECT deben
coincidir en nmero.
b. Los parntesis no puede ser utilizado para alterar
la secuencia de ejecucin.
c. El tipo de datos de cada columna en la segunda
consulta debe coincidir con el tipo de datos de su
columna correspondiente de la primera consulta.
d. La clusula ORDER BY slo se puede utilizar una
vez en una consulta compuesta, a menos que se
utilice el operador UNION ALL.
Test
Identifique dos ideas de los operadores establecidos.
a. Las expresiones en las consultas SELECT deben
coincidir en nmero.
b. Los parntesis no puede ser utilizado para alterar
la secuencia de ejecucin.
c. El tipo de datos de cada columna en la segunda
consulta debe coincidir con el tipo de datos de su
columna correspondiente de la primera consulta.
d. La clusula ORDER BY slo se puede utilizar una
sola vez en una consulta compuesta, a menos que
se utilice el operador UNION ALL.
Test
Dentro de base de datos, las sub consultas con
SQL permiten:
a.- Utilizar los resultados de una consulta como
parte de otra.
b.- Consultar informacin que se encuentra en
ms de tres tablas.
c.- Consultar informacin comparando campos
que tienen el mismo tipo de dato.
c.- Ejecutar las consultas de manera ms rpida
Test
Dentro de base de datos, las sub consultas con
SQL permiten:
a.- Utilizar los resultados de una consulta como
parte de otra.
b.- Consultar informacin que se encuentra en
ms de tres tablas.
c.- Consultar informacin comparando campos
que tienen el mismo tipo de dato.
c.- Ejecutar las consultas de manera ms rpida
Ejercicio 1
Listar el Apellido y el sueldo de los
empleados que no ganan entre 4000 y
15000.
Select last_name, salary
from employees
where salary not between 4000 and
15000
Ejercicio 2
Listar el apellido y el sueldo de los
empleados que pertenecen a los
departamentos 20 o 50, que ganan
entre 4000 y 15000.
Select last_name, salary
from employees
where salary between 4000 and 15000
and department_id in (20, 50)
Ejercicio 3
Listar el apellido de los empleados que
tengan un a en la segunda letra del
apellido.
Select last_name
from employees
Where last_name like _a%
Ejercicio 4
Listar el apellido y sueldo de los
empleados pertenecientes a
departamentos radicados en Seattle.
Select last_name, salary
from employees
Where department_id in (select department_id
from departments d, locations l
where d.location_id=l.location_id and
city=Seattle)
Ejercicio 5
Listar cod departamento cuya media
de salarios es inferior a 7000
(Contando solo los empleados que
ganan menos de 4000)
Select department_id, avg(salary)
from employees
Where salary < =4000
Group by department_id
Having avg(salary)<7000
Ejercicio 6
Encontrar el nombre y salario de los
empleados que ganan menos de 2000.
De este conjunto, seleccionar los que
tengan una a en el nombre.
Select *
from (select last_name, salary
from employees
where salary > 2000)
Where last_name like %a%
Ejercicio 7
Seleccionar el ID empleado, apellido y
sueldo de los empleados que ganan
ms que la media de la empresa.
Ordenar los registros por el salario
Select employee_id, last_name, salary
from employees
Where salary > (select avg(salary) from
employees)
Order by salary
Ejercicio 8
Seleccionar el ID empleado, apellido, de
todos los colegas de empleados que tengan
una u en su apellido. (Colega: persona que
trabaja en el mismo departamento.)
Select employee_id, last_name
from employees
Where department_id in (select department_id
from employees
where last_name like %u%)
Ejercicio 8
Seleccionar ID empleado, apellido, sueldo de los
colegas de empleados que tengan una u en su
apellido, y que ganen sueldos (los colegas) mayor
que la media de sueldos de la empresa.
Select employee_id, last_name, salary
from employees
Where department_id in (select department_id
from employees
where last_name like %u%)
and salary > (select avg(salary) from employees)
Creacin de Tablas
Sentencia: CREATE TABLE, su formato: