You are on page 1of 19

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A

Sintaxis ...........................................

Tablas Usadas
Consultas sencillas Funciones generales

Group By
Subconsultas Consultas Multitablas

Ejercicios SELECT

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Sencillos
........................................... Esta Agrupacin sin condicionar solo toma de cada agrupacin el primero OPCION UNO: Mysql> select * from clientes group by repventas;

Tablas Usadas
Consultas sencillas Funciones generales

Group by By
Subconsultas

OPCION DOS:

OTRA OPCION?
Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Sencillos
........................................... Muestra la cantidad de pedidos hechos por cada cliente

Tablas Usadas
Consultas sencillas Funciones generales

OPCION UNO: Mysql> select clie, count(*) from pedidos group by clie;

Group by By
Subconsultas

OPCION DOS:

OTRA OPCION?
Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Funciones de agrupacin


........................................... Muestra la suma de los importes de los pedidos de cada uno de los representante de ventas OPCION UNO: Mysql> select REP_ATENDIO, SUM(importe) from pedidos group by rep_atendio; OPCION DOS:

Tablas Usadas
Consultas sencillas Funciones generales

Group by By
Subconsultas

OTRA OPCION?
Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Funciones de agrupacin


........................................... De cada uno de los clientes muestre cual ha sido el importe mas bajo que ha pagado al realizar un pedido OPCION UNO: Mysql> select clie, min(importe) from pedidos group by clie;

Tablas Usadas
Consultas sencillas Funciones generales

Group by By
Subconsultas

OPCION DOS:

OTRA OPCION?
Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Doble agrupacion


........................................... Muestra la cantidad de pedidos hechos por cada cliente, por fechas

Tablas Usadas
Consultas sencillas Funciones generales

OPCION UNO:

Mysql> select fechapedido, Clie, count(*) from pedidos group by fechapedido,Clie;


OPCION DOS: Mysql> select fechapedido, Clie, count(clie) from pedidos group by fechapedido,Clie;

Group by By
Subconsultas Consultas Multitablas

OTRA OPCION? Mysql> select fechapedido, Clie, count(numpedidos) from pedidos group by fechapedido,Clie;

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Doble agrupacin


........................................... Suma la cantidad de artculos pedidos por fecha por cada cliente

Tablas Usadas
Consultas sencillas Funciones generales

OPCION UNO: Mysql> select fechapedido, Clie, sum(cant) from pedidos group by fechapedido,Clie; OPCION DOS:

Group by By
Subconsultas

OTRA OPCION?
Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Condicionando despus la agrupacion.


........................................... Mostrar aquellos clientes que hayan hecho mas de 2 pedidos

Tablas Usadas
Consultas sencillas Funciones generales

OPCION UNO: Mysql> select clie, count(*) from pedidos group by clie having count(*)>2; OPCION DOS:

Group by By
Subconsultas

OTRA OPCION?
Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Condicionando despus la agrupacion.


........................................... Mostrar aquellos representantes de ventas que tengan mas de tres clientes (use la tabla clientes) OPCION UNO: Mysql> select repventas, count(*) from clientes group by repventas having count(*)>3; OPCION DOS:

Tablas Usadas
Consultas sencillas Funciones generales

Group by By
Subconsultas

OTRA OPCION?
Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Definicion. Subconsultas
........................................... Denicion: Una subconsulta es una sentencia select dentro de otra sentencia select. La subconsulta obtiene unos resultados intermedios (uno o mas datos) que se emplean en la consulta principal (habitualmente en el where o en el having).

Tablas Usadas
Consultas sencillas Funciones generales

Group By
Subconsultas Subconsulta Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Definicin. Subconsultas
........................................... Muchas veces las subconsultas se pueden escribir como consultas multitabla y viceversa. Las subconsultas siempre deben estar escritas entre parentesis.

Tablas Usadas
Consultas sencillas Funciones generales

Group By
Subconsultas Subconsulta Consultas Multitablas

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, 1 o mas las).

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Subconsultas. Devuelven un Solo Valor


........................................... Cuando la subconsulta devuelve un nico valor, la consulta principal y la subconsulta pueden unirse por un signo de comparacin (=, <>, <, , >, etc.). Muestre los nombres de los clientes que estn por encima del promedio de limite de crdito Mysql> select clie, avg(limitecredito) from clientes;

Tablas Usadas
Consultas sencillas Funciones generales

Group By
Errrorrrr!!!! Subconsultas Subconsulta Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Subconsultas. Devuelven un Solo Valor


...........................................

Tablas Usadas
Consultas sencillas Funciones generales

Muestre los nombres de los clientes que estn por encima del promedio de limite de crdito
Primero tenemos que saber cual es el limite de crdito promedio Mysql> select avg(limitecredito) from clientes;

Group By
Subconsultas Subconsulta Consultas Multitablas

Cmo obtenemos el nombre de cada ciiente?

Mysql> select nombre from clientes;

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Subconsultas. Devuelven un Solo Valor


...........................................

Tablas Usadas
Consultas sencillas Funciones generales

Muestre los nombres de los clientes que estn por encima del promedio de limite de crdito
Cuales son entonces por encima del promedio del limite de credito?

Mysql> select nombre from clientes where limitecredito > (select avg(limitecredito) from clientes);

Group By
Subconsultas Subconsulta

POR QUE SE DICE QUE DEVUELVE UN SOLO VALOR


Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Subconsultas. Devuelven un Solo Valor


...........................................

Tablas Usadas
Consultas sencillas Funciones generales

Muestre los nombres del representante de venta del cliente Orion Corp.
En qu tabla muestra que el cliente le tiene asignado un representante de venta? En qu tabla esta el nombre del representante de venta?

Group By
Subconsultas Subconsulta

Mysql> select nombre from repventas where numempl = (select repventas from clientes where numclie=2114);

POR QUE SE DICE QUE DEVUELVE UN SOLO VALOR


Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Subconsultas. Devuelven un Solo Valor


...........................................

Tablas Usadas
Consultas sencillas Funciones generales

Muestre los nombres del clientes que mas pedidos tengan.

En qu tabla muestra que pedidos ha hecho el cliente? Cul es el numero maximo de pedidos hechos? Dnde esta el nombre del cliente?

Group By
Subconsultas Subconsulta Consultas Multitablas

Mysql> select nombre from clientes where numclie in (select clie from pedidos group by clie having count(*)= (SELECT count(clie) FROM pedidos GROUP BY clie order by count(clie) desc limit 1)); CUANTOS CLIE PUEDE DEVOLVER LA SUBCONSULTA DE ENMEDIO

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Subconsultas. Que Devuelven un Conjunto


...........................................

Tablas Usadas
Consultas sencillas Funciones generales

Las subconsultas que devuelven un conjunto de valores devuelven un conjunto indeterminado de las (no conocido a priori ): cero, una o muchas.
Ejemplo de USO INCORRECTO: select descrip from articulos where precio = ( select precio from lineas_fac ); Existen varias formas de conectar la consulta y la subconsulta: 1 valor in ( subconsulta ) 2 exists( subconsulta ) 3 valor operador any( subconsulta ) 4 valor =|>|>=|... all( subconsulta )

Group By
Subconsultas Subconsulta Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Subconsultas. Que Devuelven un Conjunto


...........................................

Tablas Usadas
Consultas sencillas Funciones generales

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);

Group By
Subconsultas Subconsulta Consultas Multitablas

INGENIERIA EN SISTEMAS COMPUTACIONALES TALLER DE BASE DE DATOS QUINTO SEMESTRE 503 - A


Sintaxis

Agrupando. Condicionando despus la agrupacion.


...........................................

Tablas Usadas
Consultas sencillas Funciones generales

Group By
Subconsultas Consultas Multitablas

You might also like