En este vídeo continuamos avanzando en las subconsultas sql. Utilizamos los predicados IN y NOT IN.

Descarga de la BBDD del vídeo: http://www.pildorasinformaticas.com/archivos/cursosql/video11.zip

Para más cursos, ejercicios y manuales visita: http://www.pildorasinformaticas.com

source

1 Comentario

  1. Muy bueno todo el curso. En concreto en este video, me ha surgido una duda, a raíz de realizar la consulta con el IN, o con el INNER JOIN. Y es la siguiente: en el caso de la BBDD del vídeo, no se da ningun caso en el que se repita que un artículo se haya vendido en en más de 20 unidades en más de 1 pedido. Entonces, modificando la tabla, y suponiendo que el producto (ej: AR31 que es PISTOLA CON SONIDO) se ha vendido en dos pedidos diferentes, y en cantidades que superan las 20 unidades, realizando la consulta del vídeo con "IN", no repite ese producto en el resultado mientras que con "INNER JOIN" sí, mostrando dos veces PISTOLA CON SONIDO. Me podía aclarar por qué?

    Muchas gracias y un saludo.

  2. Antes de nada gracias por los tutoriales.
    Te quería hacer una pregunta. Cuando muestras los resultados de la consulta en el minuto 9:48, creo que faltan algunos artículos por incluir, como por ejemplo el AR38 ya que se vendieron 12 unidades en el pedido 47 y otras 13 en el pedido 48, haciendo un total de 25. ¿Estoy en lo cierto?

    Gracias de antemano.

  3. Hola profesor, quería hacerle una consulta ¿cómo sería la última consulta usando inner join? Pensé en esto:
    SELECT EMPRESA, POBLACIÓN
    FROM CLIENTES INNER JOIN PEDIDOS ON CLIENTES.CÓDIGOCLIENTE = PEDIDOS.CÓDIGOCLIENTE
    WHERE FORMADEPAGO<>'TARJETA'
    pero no muestra los clientes que no hicieron pedidos y muestra repetidas veces un mismo cliente, por ejemplo ALMACÉN POPULAR aparece 5 veces (3 pagos APLAZADO y 2 de CONTADO).
    Muchísimas gracias por tomarse el tiempo de subir estos tutoriales. Saludos.

  4. Muy buenos tus videos, pero una pregunta segun lo que veo estas dos sentencias son las mismas
    SELECT * FROM CLIENTES, PEDIDOS WHERE CLIENTES.CÓDIGOCLIENTE = PEDIDOS.`CÓDIGO CLIENTE`;
    SELECT * FROM CLIENTES INNER JOIN PEDIDOS ON CLIENTES.CÓDIGOCLIENTE = PEDIDOS.`CÓDIGO CLIENTE`;
    Habria alguna desventaja una con otra, gracias de antemano

  5. Hola, disculpa como puedo hacer la estructura de una consulta, donde necesito hacer 3 consultas hijas y 1 padre?
    ***Ya vi tu video anterior, pero el ejemplo es de una consulta hija.

  6. Muy buen curso, me apunto varios tips! Por cierto, un par de preguntas:

    Se puede hacer una consulta select a TODAS las tablas de la BBDD_1, que a su vez tenga subconsultas (la bbdd_1 tiene 7000 tablas)??? Gracias!

    Casi lo mismo que lo anterior:

    Se puede hacer una consulta select a TODAS las tablas de la BBDD_1, y que a su vez haga haga subconsultas a todas las tablas de la BBDD_2???

    Muchas gracias!

  7. SELECT clientes.CODIGOCLIENTE, empresa, NUMERODEPEDIDO, pedidos.CODIGOCLIENTE, FORMADEPAGO from clientes left JOIN pedidos on clientes.CODIGOCLIENTE=pedidos.CODIGOCLIENTE where FORMADEPAGO <> "tarjeta" or FORMADEPAGO is null

    es otra forma de hacer lo mismo , use left join para que me salga todos los que han echo pedidos y los que no han echo . un saludo profesor excelente curso.

  8. Ketal Juan. Una pregunta: las subconsultas escalonadas y las de lista siempre nos devolverán una columna ? o pueden haber casos en los que nos devuelvan mas de una columna. Saludos.

  9. Hola excelente curso poco a poco voy comprendiendo mejor mysql una pregunta porque al tratar de ejecutar esta sentencia: SELECT NOMBREARTÍCULO, PRECIO FROM PRODUCTOS WHERE CODÍGOARTÍCULO IN (SELECT CODÍGOARTÍCULO FROM PRODUCTOSPEDIDOS WHERE UNIDADES > 20) tal como usted la hizo en el vídeo me esta pidiendo access que introduzca el valor de parámetro código articulo lo mismo para la ultima consulta que muestra en el vídeo, gracias de antemano ?

Dejar respuesta

Please enter your comment!
Please enter your name here