Ejercicios SELECT Parte 02
-
Author
itzel-bautista-hernandez -
Category
Documents
-
view
42 -
download
3
Embed Size (px)
Transcript of Ejercicios SELECT Parte 02

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Ejercicios SELECT

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Group by
Agrupando. Sencillos
Esta Agrupación sin condicionar solo toma de cada agrupación el primero
Mysql> select * from clientes group by repventas;
OPCION UNO:
OPCION DOS:
¿OTRA OPCION?

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Group by
Agrupando. Sencillos
Muestra la cantidad de pedidos hechos por cada cliente
OPCION UNO:
OPCION DOS:
¿OTRA OPCION?
Mysql> select clie, count(*) from pedidos group by clie;

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Group by
Agrupando. Funciones de agrupación
Muestra la suma de los importes de los pedidos de cada uno de los representante de ventas
Mysql> select REP_ATENDIO, SUM(importe) from pedidosgroup by rep_atendio;
OPCION UNO:
OPCION DOS:
¿OTRA OPCION?

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Group by
Agrupando. Funciones de agrupación
De cada uno de los clientes muestre cual ha sido el importe mas bajo que ha pagado al realizar un pedido
Mysql> select clie, min(importe) from pedidos group by clie;
OPCION UNO:
OPCION DOS:
¿OTRA OPCION?

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Group by
Agrupando. Doble agrupacion
OPCION UNO:
OPCION DOS:
¿OTRA OPCION?
Mysql> select fechapedido, Clie, count(*) frompedidos group by fechapedido,Clie;
Mysql> select fechapedido, Clie, count(clie) frompedidos group by fechapedido,Clie;
Mysql> select fechapedido, Clie, count(numpedidos) frompedidos group by fechapedido,Clie;
Muestra la cantidad de pedidos hechos por cada cliente, por fechas

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Group by
Agrupando. Doble agrupación
Suma la cantidad de artículos pedidos por fecha por cada cliente
Mysql> select fechapedido, Clie, sum(cant) from pedidos group by fechapedido,Clie;
OPCION UNO:
OPCION DOS:
¿OTRA OPCION?

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Group by
Agrupando. Condicionando después la agrupacion.
Mostrar aquellos clientes que hayan hecho mas de 2 pedidos
Mysql> select clie, count(*) from pedidos group by cliehaving count(*)>2;
OPCION UNO:
OPCION DOS:
¿OTRA OPCION?

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Group by
Agrupando. Condicionando después la agrupacion.
Mostrar aquellos representantes de ventas que tengan mas de tres clientes (use la tabla clientes)
Mysql> select repventas, count(*) from clientes group by repventas having count(*)>3;
OPCION UNO:
OPCION DOS:
¿OTRA OPCION?

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Definicion. Subconsultas
Denicion: Una subconsulta es una sentencia selectdentro de otra sentencia select.
La subconsulta obtiene unos resultados intermedios (uno omas datos) que se emplean en la consulta principal(habitualmente en el where o en el having).

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Definición. Subconsultas
Muchas veces las subconsultas se pueden escribir comoconsultas multitabla y viceversa.
Las subconsultas siempre deben estar escritas entreparentesis.
Las subconsultas se puede clasicar en dos tipos,atendiendo al numero de las y columnas que devuelven:Subconsultas que devuelven un unico valor.
Subconsultas que devuelven un conjunto de las (0, 1o mas las).

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Subconsultas. Devuelven un Solo Valor
Cuando la subconsulta devuelve un único valor, la consultaprincipal y la subconsulta pueden unirse por un signo decomparación (=, <>, <, , >, etc.).
Mysql> select clie, avg(limitecredito) from clientes;
Muestre los nombres de los clientes que estén por encima del promedio de limite de crédito
Errrorrrr!!!!

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Subconsultas. Devuelven un Solo Valor
Mysql> select avg(limitecredito) from clientes;
Muestre los nombres de los clientes que estén por encima del promedio de limite de crédito
Primero tenemos que saber cual es el limite de crédito promedio
Mysql> select nombre from clientes;
¿Cómo obtenemos el nombre de cada ciiente?

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Subconsultas. Devuelven un Solo Valor
Muestre los nombres de los clientes que estén por encima del promedio de limite de crédito
Cuales son entonces por encima del promedio del limite de credito?
Mysql> select nombre from clientes where limitecredito >(select avg(limitecredito) from clientes);
POR QUE SE DICE QUE DEVUELVE UN SOLO VALOR

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Subconsultas. Devuelven un Solo Valor
Muestre los nombres del representante de venta del cliente OrionCorp.
¿En qué tabla muestra que el cliente le tiene asignado un representante de venta? ¿En qué tabla esta el nombre delrepresentante de venta?
Mysql> select nombre from repventas where numempl =(select repventas from clientes where numclie=2114);
POR QUE SE DICE QUE DEVUELVE UN SOLO VALOR

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Subconsultas. Devuelven un Solo Valor
Muestre los nombres del clientes que mas pedidos tengan.
¿En qué tabla muestra que pedidos ha hecho el cliente? ¿Cuál es el numero maximo de pedidos hechos?¿Dónde esta el nombre del cliente?
Mysql> select nombre from clientes where numclie in (select clie from pedidos group by clie having count(*)= (SELECT count(clie) FROM pedidos GROUP BYclie order by count(clie) desc limit 1));
CUANTOS CLIE PUEDE DEVOLVER LA SUBCONSULTA DE ENMEDIO

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Subconsultas. Que Devuelven un Conjunto
Las subconsultas que devuelven un conjunto de valoresdevuelven un conjunto indeterminado de las (no conocidoa priori ): cero, una o muchas.
Ejemplo de USO INCORRECTO:select descripfrom articuloswhere precio = ( select precio from lineas_fac );
Existen varias formas de conectar la consulta y lasubconsulta:
1 valor in ( subconsulta )2 exists( subconsulta )3 valor operador any( subconsulta )4 valor =|>|>=|... all( subconsulta )

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Subconsulta
Subconsultas. Que Devuelven un Conjunto
Muestre los datos de los clientes de hayan hecho mas de 2 pedidos
Mysql> select nombre from clientes where numclie in(select clie from pedidos group by clie having count(*)> 2);

Sintaxis
Tablas Usadas
Consultas sencillas
Funciones generales
Group By
Subconsultas
Consultas Multitablas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INGENIERIA EN SISTEMAS COMPUTACIONALESTALLER DE BASE DE DATOSQUINTO SEMESTRE 503 - A
Consultas Multitablas
Agrupando. Condicionando después la agrupacion.