Curso SQL. Subconsultas I. Vídeo 10

Поділитися
Вставка
  • Опубліковано 3 гру 2024

КОМЕНТАРІ • 209

  • @vargasvarzav3410
    @vargasvarzav3410 9 років тому +66

    Maestro! Saludos desde Latinoamerica, con usted aprendo mas y mejor que la universidad. Siga profundizándonos aun mas en el mundo del SQL. Muchas gracias.

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому +6

      +Vargas Varzav Hola !! Gracias por el comentario. En ello estamos. Un saludo

  • @AntonioLopez-fy1ch
    @AntonioLopez-fy1ch 6 років тому +45

    12:26 Tambien funciona con esta consulta
    SELECT * FROM PRODUCTOS WHERE PRECIO > (SELECT MAX(PRECIO) FROM PRODUCTOS WHERE SECCIÓN = 'CERÁMICA'

    • @denzelcaleb7738
      @denzelcaleb7738 4 роки тому +2

      Ya decía yo eso v:.

    • @newentu
      @newentu 4 роки тому +1

      toda la razon!!

    • @newentu
      @newentu 4 роки тому +1

      @Angelo Rodolfo MOSCOSO VILCA exacto!

    • @BelenPaulino
      @BelenPaulino 3 роки тому

      @Samir Harley we dont freaking care. get the .... out of here dammed scammer.

    • @McWit0
      @McWit0 3 роки тому

      @Derek Porter shut up dog, we are not stupid, we know it's scam

  • @nilo591
    @nilo591 6 років тому +23

    Eres un genio, el hecho de que puedas transmitirnos tus conocimientos y experiencia en programación mediante estos vídeos es sensacional. Muchas gracias y Saludos desde Colombia.

  • @JustMike0.0
    @JustMike0.0 10 місяців тому

    Tienes una forma de enseñar explendida, realmente se siente un privilegio escuchar las explicaciones de formas tan claras. Muchas gracias.

  • @alansalinas4311
    @alansalinas4311 2 роки тому +4

    Te quiero mucho Píldoras informáticas

  • @victorrobles2555
    @victorrobles2555 9 років тому +8

    Wow! el mejor maestro del mundo, Saludo desde Republica Dominicana. Muchas Gracias por los videos

  • @SamGamyiKLC
    @SamGamyiKLC 5 років тому +17

    18:40 Una forma muy simple de entender el uso de all y any, es viéndolos como Max y min. De echo arrojan los mismos resultados y es un ejemplo más de lo ambiguo que es el lenguaje SQL.

  • @juliocesarlarios2079
    @juliocesarlarios2079 6 років тому +3

    Hola, buen día, muchas gracias por compartir tu conocimiento, la ultima vez te doné sólo un euro, soy de México y los euros están muy caros, pero trataré de donar constantemente a tu canal, la gente como tú es la que merece ganar más. Yo soy docente de bachillerato y sé lo que significa compartir el conocimiento y nuestra labor.

  • @antoniossmenezes
    @antoniossmenezes 2 роки тому +1

    Gracias maestro, de verdad eres un genio! Soy brasileño estoy haciendo un curso con un maestro brasileño pero que no es tan bueno cuánto tú! Bendiciones! Contigo comprendi en la primera vez que vi tu classe!

  • @Junior95606
    @Junior95606 3 роки тому +1

    Muchas gracias por compartir sus conocimientos, que grandísimo aporte. Usted es de esos seres humanos en los que vale la pena creer en la humanidad. Saludos desde Colombia ¡Mil gracias!

  • @anamula7221
    @anamula7221 7 місяців тому

    Muchas gracias por su generosidad, no se imagina el bien que hace.

  • @andersonmoreta1349
    @andersonmoreta1349 9 років тому +1

    Definitivamente el Mejor maestro. Saludos desde República Dominicana

  • @evaristj.3974
    @evaristj.3974 7 років тому

    De todos los que he visto eres el mejor que lo explica

  • @faciol125
    @faciol125 3 роки тому

    buenas tardes, estoy aprendiendo de este genio que es Juan Gómez, me encanta su forma de enseñar y gratis, y como dice él con lo que hemos aprendido hasta este ejercicio que platea sobre buscar todos los productos que sean mayores que todos los precio de cerámica, para mi es mas fácil realizar el ejercicio buscando el máximo de la sección de cerámica y después buscar todos los artículos que sean mayores a este . este comentario los escribo por que estoy tratando de entender el operador ALL, espero sus retroalimentación.
    así me quedo SELECT * FROM productos WHERE PRECIO> (SELECT MAX(PRECIO) FROM productos WHERE SECCIÓN='CERAMICA')

  • @joaquinfg6153
    @joaquinfg6153 6 років тому

    Gracias Juan, eres el mejor profesor que he tenido, tienes una metodología para explicar impecable. Un saludo

  • @kryztalVEVO
    @kryztalVEVO 3 роки тому +1

    Soy recién egresada de economía y me encuentro en busca de trabajo, con los cursos gratuitos que nos comparte en su canal estoy aprendiendo a manejar nuevos programas para mejorar mi currículum. ¡Muchas gracias por compartir sus conocimientos!

  • @miguelangelpiquerubeda1739
    @miguelangelpiquerubeda1739 9 років тому +1

    Perfecta explicación. Muchas gracias por compartir tus conocimientos.
    Saludos desde España, Valencia.

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому

      +Miguel Angel Piquer Ubeda Gracias por el comentario. Un saludo!!

  • @ivancalderon1787
    @ivancalderon1787 9 років тому +1

    Cordial saludo Ingeniero; muchas gracias por la excelente colaboración. Entendido al 100%, gracias.

  • @bryanoswaldocanonvalladare1567
    @bryanoswaldocanonvalladare1567 5 років тому

    Sensei, con usted estoy viendo Python, y busque por internet subconsultas puse el video y cuando vi era ustede Sensei que bien explica.
    Usted se toma el tiempo de explicar cada paso algo que no hacen en las Universidades, la mejor manera es explicar paso a paso, es mas comprendible de esta manera.
    Gracias.

  • @rafaelcisneros7417
    @rafaelcisneros7417 8 років тому +1

    Me gustan mucho sus vídeos, en verdad todo es tan preciso y con mucha calidad. ¡Lo felicito y tenga por seguro que recomendare ampliamente el canal! ;)

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому

      +RAFAEL CISNEROS Muchas gracias !! Me alegro de que te gusten los vídeos. Un saludo!!

  • @antoniovalderrama7080
    @antoniovalderrama7080 9 років тому +1

    Cordial saludo Don Juan; muchas gracias por la excelente explicación.
    En el segundo tipo de subconsultas (con all y con any), las asocio con el precio mayor o al menor, correspondiente a cierto tipo de artículo definido, respectivamente.
    Un saludo fraternal.

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому +1

      +Antonio Valderrama Hola Antonio. Yo más que asociarlas a un tipo de artículo definido, con nuestro ejemplo de la tabla de productos las asocio más a una sección o país de origen en concreto. Por ejemplo, una consulta que muestre los productos más caros que los artículos de deportes, o una consulta que muestres los artículos más baratos que los artículos españoles por poner dos ejemplos.
      Un saludo

  • @newentu
    @newentu 4 роки тому

    Excelente, llevo varios dias estudiando y creando mi BD y estoy aprendiendo mucho

  • @solosalsacali2355
    @solosalsacali2355 6 років тому

    el mejor profesor de youtobe

  • @williamalexanderpineda6098
    @williamalexanderpineda6098 2 роки тому

    Gracias maestro. Sin palabras. Excelente video!

  • @rasmia09
    @rasmia09 2 роки тому +1

    Muy buen curso. La consulta: SELECT * FROM PRODUCTOS WHERE PRECIO > ANY (SELECT PRECIO FROM PRODUCTOS WHERE SECCIÓN = "CERÁMICA") se puede hacer como SELECT * FROM PRODUCTOS WHERE PRECIO > (SELECT MIN(PRECIO) FROM PRODUCTOS WHERE SECCIÓN = "CERÁMICA") y con ALL se puede utilizar MAX, SELECT * FROM PRODUCTOS WHERE PRECIO > (SELECT MAX(PRECIO) FROM PRODUCTOS WHERE SECCIÓN = "CERÁMICA")

  • @rafaelherrera7017
    @rafaelherrera7017 4 роки тому

    Da muy buenas clases, haciendo que lo complejo se vuelva accesible

  • @fedee141
    @fedee141 8 років тому +3

    Muchas gracias por estos videos tutoriales !!!
    Si no les anda el ALL pueden usar la siguiente consulta:
    SELECT * FROM productos WHERE precio > (SELECT MAX(precio) FROM productos WHERE seccion = "CERÁMICA");
    Y Vean que les tire bien los resultados, a mi en este caso, me tiraba resultados falsos (precios menores o mayores de la seccion cerámica). La solucion a esto es cambiar el TIPO DE DATO del precio, tiene varchar(10) y es una practica muy mala poner ese tipo de dato a los precios. Cambienlo por DECIMAL y si les tira error, reemplazen las comas de los precios por los puntos. Ejemplo AR01 6.63 en vez de 6,63. Con esto se les tiene que solucionar. A mi me va bien. Saludos!

    • @albertogarciaolmedo5384
      @albertogarciaolmedo5384 2 роки тому

      Funcionó. Añado que en mi caso tuve que añadir que, en el menú Productos>Estructura>Campo Precio Pulsar Cambiar>Setear en DECIMAL> Cotejamiento ninguno (la opción que aparece más arriba del desplegable, que está en blanco). Si ponía otros cotejamientos que probé, ese campo no se cambiaba y se quedaba en VARCHAR. Si le quito el cotejamiento me sí consigo que me aparezca el valor en lo que le especifiqué, que en este caso es DECIMAL

  • @victoriaramirezborges4612
    @victoriaramirezborges4612 5 років тому +2

    Un comentario para quienes tienen problemas con los operadores. Lo primero que deben hacer es verificar el tipo de datos con los cuales se han almacenado los registros al importarlos desde .ods a MySql. Juan ya lo explicó, si bien se puede indicar que tipo de datos contiene cada celda antes de importarlos esto no siempre es respetado. Así que les sugiero lo verifiquen en el SGBD y lo corrijan desde allí. Ex: si un campo debe ser de tipo decimal y aparece como varchar, obviamente fallarán las operaciones que impliquen comparar valores numéricos sobre ellos. Y algo importante: desmarquen la opción de utilizar el '.' como separador de miles en el .ods. La mayor parte de los problemas que he leído aquí se solucionan con una correcta conversión de datos. Suerte.

  • @flameclow1219
    @flameclow1219 3 роки тому

    Muy bien explicado, sobre todo me he aclarado todo el ejemplo del final.

  • @loan00608
    @loan00608 9 років тому +1

    Juan Gómez, antes que nada quiero felicitarte por tan excelente material y por compartir todos tus conocimientos con cada uno de los que seguimos estos videos, realmente te doy las gracias por esto.... Quisiera preguntarte algo y es en relación a este ultimo vídeo según entendí en la consulta con el comando all el busca el mayor valor de esa lista y a partir de ello lo usa como criterio para aplicar a los registros de la consulta padre.. en este orden de ideas hice dos consulas y son las siguiente:
    SELECT * FROM PRODUCTOS WHERE PRECIO > all (SELECT PRECIO FROM `productos` WHERE `SECCION` ="ceramica")
    Mostrando filas 0 - 7 (total de 8, La consulta tardó 0.0010 segundos.
    SELECT * FROM PRODUCTOS WHERE PRECIO > (SELECT max(PRECIO) FROM `productos` WHERE `SECCION` ="ceramica")
    Mostrando filas 0 - 7 (total de 8, La consulta tardó 0.0000 segundos.)
    Mi duda es los tiempos que me arroja el motor de base de dato si son del todo acertados ? por como se puede ver para cuestiones de rendimiento seria la misma consulta pero con otro punto de vista pero mucho mas optima en cuanto a tiempo de respuesta...

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому

      +Andres Grajales Hola !! Pues la verdad es que ahí me pillas. No se cuál de las dos consultas sería más óptima para el motor de la BBDD. Intuyo que con la primera hace una comprobación de la primera consulta con la segunda registro a registro. Sin embargo con la segunda primero hace una consulta (la interna) y el resultado lo usa como filtro para la consulta externa.
      Pero esto son relexiones mías que acabo de hacer porque nunca me había planteado esta cuestión en concreto.
      Un saludo

  • @lewisv9439
    @lewisv9439 9 років тому +1

    Muy interesante el tema. He disfrutado mucho con ello
    Gracias Crack!!!!

  • @jannermunoz9984
    @jannermunoz9984 6 років тому

    muchas gracias estaba leyendo sobre subconsultas y no entendia y este video lo explico todo muy bien entendi rapido muchas gracias

  • @adriancordova1618
    @adriancordova1618 2 роки тому

    Excelente todo muy claro como el viento.

  • @educacioninformatica
    @educacioninformatica 8 років тому +1

    Hola Mil gracias por hacer los tutoriales, simplemente excelente excelente excelente, como recibir clases en una de las mejores universidades con un excelente profesor

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому

      +educacioninformatica Gracias !! Me alegro de que te gusten los vídeos. Un saludo!!

  • @Arckaiko
    @Arckaiko 4 роки тому

    Eres el mejor, Juan!!

  • @daviddelahoz2956
    @daviddelahoz2956 6 років тому +1

    Me precipite un poco en la segunda subconsulta que era la subconsulta de lista pues primero escucho el ejercicio y pauso el vídeo para resolverlo yo mismo y buscar una forma de obtener el resultado antes de ver la solución y lo hice de esta forma :
    SELECT * FROM PRODUCTOS P
    WHERE P.`PRECIO` > (SELECT MAX(PE.PRECIO) FROM PRODUCTOS PE
    WHERE PE.SECCIÓN = 'CERÁMICA' ); -- // AQUÍ SOLO BUSQUE EL PRECIO
    MÁXIMO DE LA SECCIÓN
    CERÁMICA//
    Bueno igual aunque me dio el resultado realmente al ver la solución aprendí algo nuevo
    que es el > ALL y el > ANY
    Muchas gracias por compartir tu conocimiento y te felicito porque subes contenido de calidad.

    • @pildorasinformaticas
      @pildorasinformaticas  6 років тому +1

      Gracias por el comentario. Estás haciendo el curso de manera correcta. Se deben pausar los vídeos e intentar hacerlo uno mismo antes de ver la solución. ¡Un saludo!

  • @Jesus-xu7qg
    @Jesus-xu7qg 6 років тому +1

    Muchas gracias me sirvió de mucha ayuda!

  • @karina7uriel
    @karina7uriel 3 роки тому

    Me vi todos los videos de este curso hasta aca y no recuerdo haber visto LIKE...

  • @nielsam478
    @nielsam478 3 роки тому

    Gracias Juan.

  • @marcosugarte6133
    @marcosugarte6133 7 років тому +1

    Felicitaciones!!!. Buen video.

  • @juanjimenez9208
    @juanjimenez9208 6 років тому +5

    Eres muy aspero hahaha, ojala hubiese visto esto cuando vi mi curso de bases de datos, muy bien explicado felicitaciones

  • @wadago
    @wadago 8 років тому +2

    Muy bueno Pildoras! en la universidad te dan un pdf de teoría, presentan unos power points y te largan con la guia de ejercicios... tus videos son mucho más efectivos que eso!

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +2

      Gracias por el comentario. Me alegro de que te gusten los vídeos. Un saludo!!

  • @hectorgonzalez8508
    @hectorgonzalez8508 8 років тому +1

    Excelente video, muy bien explicado

  • @gabo3242
    @gabo3242 Рік тому

    muy buen video, muchas gracias!!!!

  • @philipuslll
    @philipuslll Рік тому

    Hola cómo estás, me encantan tus curso, explicas muy bien. Podrías de pronto actualizar el curso de SQL añadiendo el manejo de cursores, creación de informes y algo de programación con SQL como uso de ciclos, if etc dentro de este lenguaje. Gracias

  • @nicolasexp5439
    @nicolasexp5439 4 роки тому

    Muchísimas gracias

  • @fernandopalma9192
    @fernandopalma9192 4 роки тому

    Hola, la verdad que estoy muy contento y agradecido de que existan personas como tu que impartan cursos de calidad universitaria en youtube y totalmente gratis. Quería hacerte una consulta, al comienzo del video mencionas que ya has explicado el uso de LIKE y comodines, pero yo me he visto todos los videos hasta el momento y en ninguno del curso SQL los has mencionado. Quería saber si a ese video lo has subido en otro curso. Desde ya muchas gracias

  • @melvinmonroy
    @melvinmonroy 7 років тому +3

    genial gracias!!!

  • @albertomorales987
    @albertomorales987 8 років тому +3

    tutor primero que todo le doy las gracias por todo estos grandiosos aportes que nos brinda!!!!....
    Por otra parte yo tambien tengo el error que le da a los seguidores de su canal con la instruccion ALL, pero tambien me doy cuenta que ANY no trabaja en mi version; lo curioso es que la instruccion ALL aparece en la lista de instrucciones de autocompletado de PHPMyAdmin....

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому

      Si, ya lo he leído en otros comentarios. Es algo que tengo que investigar cuando tenga un rato porque no se a qué puede ser debido. Un saludo!!

  • @oscartoledo543
    @oscartoledo543 4 роки тому

    2020 ! vengo de python...gracias maestro !!

  • @ernestofavio6735
    @ernestofavio6735 4 роки тому

    EL MEJOR

  • @Ricardo-co2gv
    @Ricardo-co2gv 4 роки тому

    gracias amigo

  • @josel.martinez6153
    @josel.martinez6153 8 років тому +1

    Saludos Juan; esta consulta de genera error, select * from productos where precio > ALL(select productos where sección=' cerámicas'...........#1064 - You have an error in your SQL syntax; check the manual
    that corresponds to your MariaDB server version for the right syntax to
    use near 'LIMIT 0, 25' at line 1......pero cambio el ALL por el ANY y funciona sin problemas...

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому

      Hay un error en el segundo select. No le especificas los campos a la consulta. Un saludo!!

  • @mivida3713
    @mivida3713 8 років тому +1

    muy bien expicado brother likeee

  • @jesuv5875
    @jesuv5875 7 років тому +8

    un master. No me sorprendería que juan saque algo por alli que le haga competencia a Marck Zuckegber o a Bill Gates

  • @Alukardo11
    @Alukardo11 8 років тому

    Muy bueno master

  • @vrdarkal
    @vrdarkal Рік тому

    Hola, muchas gracias por tus enseñanzas profe. Como observación el all (en este caso) puede ser reemplazado por max(precio) dentro del select interno. :)

  • @adalbercondelucero6119
    @adalbercondelucero6119 2 роки тому

    Muchas gracias por tu video, estoy haciendo un curso en coursera, y este video me ayuda a entender mejor lo que estoy viendo, ¿ el any en el primer ejemplo me muestra todos los precios mayores a 20 euros, osea al menor precio?

  • @CesarYustiz
    @CesarYustiz 8 років тому +12

    RESUELTO PROBLEMA (ALL): alguien aquí ya lo resolvió pero sin usar el ALL pero es el mismo resultado.
    SELECT * FROM PRODUCTOS WHERE PRECIO > (SELECT MAX(PRECIO) FROM PRODUCTOS WHERE SECCIÓN="CERÁMICA")

    • @sebeatport
      @sebeatport 5 років тому

      Exacto. En este caso puntual también funcionaría.

    • @lucaspetersenfrers1708
      @lucaspetersenfrers1708 3 роки тому

      Ahí estás trasnformando una subconsulta de lista en una escalonada, pero sí, funciona

  • @mizutsunemt3375
    @mizutsunemt3375 6 років тому +2

    genio

  • @rozoneri
    @rozoneri 8 років тому +1

    Esto lo asoció no sé si erroneamente con funciones que retornan un resultado a la función que le invocó,esta muy mal esta analogía? por cierto en serio que manera tan clara,precisa que tiene usted para enseñar,creo que he aprendido más con usted que donde estudio.

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +1

      +Easylisimo La analogía es perfecta. Realmente es como funciona. Gracias por el comentario. Un saludo!!

  • @ethancasillas8755
    @ethancasillas8755 8 років тому +1

    Hola Juanito, Gracias por tu maravillosa labor todo es grandioso!!!
    Y bueno, ALL compara precios de registros de consulta externa con el más caro de la consulta interna.
    ANY compara precios de la consulta externa con el más pequeño de la consulta interna.
    Agradecería confirmación o corrección de alguien.

    • @adrianfragacortes693
      @adrianfragacortes693 2 роки тому

      A mi el any me cuesta verlo...pero por el ejemplo entiendo que si, any compara con el más pequeño de la subconsulta.

  • @franconoce1728
    @franconoce1728 5 років тому

    like, muy bien explicado

  • @albertrosell1943
    @albertrosell1943 4 роки тому

    gracias

  • @adrianiglesias4149
    @adrianiglesias4149 7 років тому +1

    Hola Juan, ante todo enhorabuena por tus cursos. Son fantásticos, desde luego, tu forma de explicar es sublime. Estoy siguiendo el curso con el gestor SQL Server 2012. Ningún problema hasta ahora en ese aspecto, pero me surge una duda con este tema de las subconsultas y los ejemplos que planteas. A efectos prácticos, ¿qué diferencia habría entre estas dos expresiones?:
    SELECT * FROM PRODUCTOS WHERE PRECIO > ALL (SELECT PRECIO FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA');
    SELECT * FROM PRODUCTOS WHERE PRECIO > (SELECT MAX(PRECIO) FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA');
    Ambas devuelven los registros de los productos cuyo precio sea mayor que todos los productos de la sección de cerámica.
    SELECT * FROM PRODUCTOS WHERE PRECIO > ANY (SELECT PRECIO FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA');
    SELECT * FROM PRODUCTOS WHERE PRECIO > (SELECT MIN(PRECIO) FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA');
    Ambas devuelven los registros de los productos cuyo precio sea mayor que cualquiera de los productos de la sección de cerámica. ¿Podrían utilizarse indistintamente? Muchas gracias, y una vez más, enhorabuena por el enorme trabajo que haces. Saludos desde A Coruña.

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +2

      Yo nunca vi diferencias entre ambas instrucciones. Pero tal vez hay algo que yo no se... Lo que si te puedo puntualizar es que las consultas con funciones de agregado (max, min etc) deben llevar la cláusula "having" para establecer criterios en vez de "where". Un saludo!!

    • @adrianiglesias4149
      @adrianiglesias4149 7 років тому +2

      Muchas gracias por la respuesta y la aclaración. Tienes mucha razón con respecto a la cláusula "having" en las consultas con funciones de agregado, de hecho lo has recalcado bastante en los vídeos, empiezo este curso con 0 conocimientos de SQL y hay "cosillas" que aún me cuesta recordar. Un saludo Juan.

  • @AgusContreras96
    @AgusContreras96 6 років тому

    Es lo mismo utilizar las funciones de agregación, en una subconsulta, que usar una subconsulta con un all con alguno de los dos respectivos operadores?

  • @maximoferrero2026
    @maximoferrero2026 6 років тому +1

    Hola, Juan estoy haciendo alguno de tus cursos pero en este tema de de mayor y menor la consulta no me da error pero cuándo le pongo el signo > todos los precios que me da son los más pequeños y para que me de los precios mayores que le tengo que poner < menor que y entonces me da los más altos y también los más bajos
    SELECT SECCIÓN, NOMBREARTÍCULO, PRECIO FROM PRODUCTOS WHERE PRECIO > ALL (SELECT PRECIO FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA');
    gracias

    • @bryancfz6166
      @bryancfz6166 6 років тому

      Tenemos el mismo problema desde MYSQL

  • @milovanbusolich6897
    @milovanbusolich6897 5 років тому +1

    Genio

  • @leepaulperezcarpena1400
    @leepaulperezcarpena1400 9 років тому +1

    Buenas noches, saludos por el gran aporte que nos brindas. Mi consulta es si se pueden hacer cubos, y si se puede, se desarrollara en esta parte del Sql

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому

      +lee paul perez carpena Hola !! Los cubos de datos dependen del gestor de BBDD que estés utilizando y no del lenguaje SQL. Por este motivo no se tratarán en este curso. Tal vez en un curso futuro de SQl Server que pienso elaborar en el futuro si trate el tema.
      Un saludo

    • @leepaulperezcarpena1400
      @leepaulperezcarpena1400 9 років тому +1

      Seria excelente maestro, yo en realidad le estoy siguiendo su clases en el SQL server

    • @garciafierrobraianalex3751
      @garciafierrobraianalex3751 5 років тому

      SKERE

  • @eduardo-1822
    @eduardo-1822 8 років тому +1

    muy buenos videos.. tendras uno donde expliques las transacciones con mysql en php? me refiero a hacer rollback a todaas las insercciones, actualizaciones o eliminaciones cuando algo sale mal en el archivo php

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +1

      No en este curso. Pero es muy posible que lo vea en mi curso de PHP que aún está en elaboración. Un saludo!!

  • @leonardoortega8309
    @leonardoortega8309 4 роки тому

    Exelente

  • @josemanuelperez2853
    @josemanuelperez2853 7 років тому +1

    Tengo una pregunta un poco "especial", y supongo que dependerá de muchos factores, pero aún así me parece interesante.
    En el caso de los ejemplos, nos encontramos que hay diferentes formas de hacer lo mismo. Por ejemplo en el ejemplo de "productos cuyo precio sea mayor que el mayor de una sección" podemos solucionarlo mediante la subconsulta de lista como has apuntado y que podríamos hacer así:
    SELECT SECCIÓN, NOMBREARTÍCULO, PRECIO FROM PRODUCTOS WHERE PRECIO > ALL(SELECT PRECIO FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA')
    Pero también podemos hacer lo mismo usando una consulta escalonada de este modo:
    SELECT SECCIÓN, NOMBREARTÍCULO, PRECIO FROM PRODUCTOS WHERE PRECIO > (SELECT MAX(PRECIO) FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA')
    Mi pregunta es ¿cual es el método mas eficiente?. En el primero se supone que comparamos cada registro contra todos los de la lista, y en el segundo solo con un registro. Por otro lado en cada consulta debe de ejecutarse una subconsulta donde se busca también el mas alto.
    No se si me explico adecuadamente, veo que en determinados escenarios se pueden usar diferentes aproximaciones, y obviamente en tablas pequeñas no tiene importancia pero en el "mundo real" estas cosas importan.

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +1

      En este caso en concreto es más óptima la segunda opción (al menos en mi opinión eso creo). Como bien dices en estas tablas pequeñas (un par de tablas o tres de 40 registros cada una) no es demasiado complicado imaginar la forma más óptima, pero en real, con BBDD y cientos de tablas relacionadas entre sí cada una de ellas con miles de registros, reconocer a priori la forma más óptima de obtener un resultado es muy muy complicado (al menos para mi).
      Por eso creo que en real, con casos complejos pocas veces uno hace un estudio detenido de cómo optimizar una consulta antes de realizarla. Simplemente la haces aunque probablemente no estés utilizando la forma más óptima. Luego viene el informático de sistemas de turno encargado del soporte y dice: "¿quién está lanzando un proceso contra la BBDD que está consumiendo un 90% de los recursos de red?" Y tú con el ordenador colgado esperando que tu consulta te devuelva los resultados... estas cosas pasan. Pero distinguir la forma más óptima de realizar una consulta contra BBDD cuando esta tiene 190 tablas, 85 relaciones y miles de registros... muy complicado. Un saludo!!

  • @josemariaaguilar-amatferna9950
    @josemariaaguilar-amatferna9950 9 років тому +2

    Hola, realmente es una pena que no te puedas dividir para llevar todos estos cursos con más rapidez, ya que cuando uno intenta avanzar por la red es raro que consiga hacerlo con la celeridad que lo hacemos contigo. Realmente creo que es muy interesante el trabajo que está realizando y ojalá que algún día te de los frutos que te mereces. A la espera de una nueva entrega del Curso de SQL, recibe un saludo.

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому +3

      +JOSE MARIA AGUILAR-AMAT FERNANDEZ Hola !! Gracias por el comentario. Es cierto lo que dices. hay épocas que puedo subir un vídeo diario e incluso más. Pero hay otras épocas, como la que estoy pasando ahora mismo, en las que no tengo tiempo para subir más que uno o dos a la semana.
      Espero que en breve mi trabajo me deje un poco más de tiempo libre y poder subir vídeos a un ritmo mayor. Un saludo

  • @albertogomezinigo2188
    @albertogomezinigo2188 7 років тому +1

    Muchas gracias por el curso. Muy completo!!! Mi pregunta va relacionada con: ¿QuÉ pasaría si sustituyo ALL por MAX en el caso de subconsulta de lista que tratas en este capitulo?. Intuitivamente habria usado MAX. Gracias de antemano.

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +1

      Hola !! Ya no recuerdo qué consulta estaba haciendo en este vídeo, tendría que ver mi propio vídeo para recordar. Pero tengo que decir que en ocasiones diferentes formas de hacer una subconsulta pueden devolver los mismos registros. El uso de MAX para devolver el registro con valor numérico más alto y después comprarlo con la consulta general da el mismo resultado que el uso de ALL. Me suelen preguntar cuál de las dos maneras es más eficiente y no estoy seguro. Pero creo que con MAX. Un saludo!!

  • @Nizark-dj9uf
    @Nizark-dj9uf 6 років тому

    Buenas Juan, habra un curso de Postgre SQL ?

  • @andersonleon6221
    @andersonleon6221 8 років тому +1

    los archivos com los problemas para resolver maestro eso ayuda mucho excelente aporte del video 9 en adelante no tiene no hay archivos de ejercicios

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому

      Hola !! Ya, ya lo se. Los voy haciendo poco a poco cuanto tengo algo de tiempo. Un saludo!!

  • @owa2337
    @owa2337 Рік тому

    En 2023 muchas gracias ❤

  • @onzamono
    @onzamono 2 роки тому +1

    Por si a alguien le ayuda, en estos casos se podría traducir ALL por "el producto más caro" y ANY por "el producto más barato". Es decir: "Selecciona los PRODUCTOS cuyo precio sea mayor (>) que (ALL) el más caro de la juguetería" / "Selecciona los PRODUCTOS cuyo precio sea mayor (>) que (ANY) el más barato de la juguetería".

    • @nicolasrojas2081
      @nicolasrojas2081 2 роки тому

      No necesariamente el any es el más barato, según lo que explica el maestro es que puede tomar como valor de referencia cualquier producto. Entonces se entiende que es un valor aleatorio el que es utilizado.

  • @luissoriano8099
    @luissoriano8099 6 років тому +1

    Me parece que el ejemplo de ANY en este video no tendria un uso practico en la vida real, la subconsulta tiene su logica pero no me parece que un ejemplo asi en la vida real se quiera hacer esa comparacion. De todas maneras gracias por un comando mas aprendido.

  • @jubatusvc
    @jubatusvc 9 років тому +1

    Hola Juan:
    Un par de problemillas que tuve descargando tus ficheros .OTS.
    El primero que al importa me da error algo así como "muchas columnas"... en el fichero a importar. Eso queda resuelto guardando el archivo en formato .csv y volviendo a importar.
    Entonces otro pequeño problemita es que sustituye tildes por símbolos de ?; y ese problema por más que cambié varios modos de cotejamiento no lo pude solucionar.
    Gracias por tus cursos, tu tiempo y tu buen hacer. Un cordial abrazo.

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому

      +Mariano VC Hola !! Gracias por el comentario. ¿Has probado con UTF8-general?

    • @jubatusvc
      @jubatusvc 9 років тому

      +Mariano VC Hola Juan. Lo puse y sigue igual. En un Mac me va perfectamente y en otro ordenador con windows 8 no funciona y sigue omitiendo las tildes. ???

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому

      pues la verdad, no sabría decirte ahora mismo a qué se debe. Intuyo que debe ser algo de la configuración del servidor del ordenador donde tienes Windows 8

  • @josaltva
    @josaltva 8 років тому +3

    Amigos, estuve revisando sobre el error ALL, al menos en mi versión de motor motor de base de datos no es mysql, es Maria DB, independientemente de que también se pueda usar phpmyAdmin, revise la documentación, corrí pruebas con los ejemplos en la misma página de maría DB a nivel línea de comandos y ni así funciona, ahora estoy haciendo una actualización de la versión 10.1.16 a la 10.1.18 aunque no estoy seguro que esto lo resuelva, de todos modos les comento el resultado si fuera positivo, saludos

    • @newentu
      @newentu 4 роки тому

      y bueno como te fue??

  • @juandavidruizescalante5808
    @juandavidruizescalante5808 7 років тому +4

    BUENAS TARDES, cuando realizo la sub consulta me trae los mismos datos que a ud, pero cuando hago la consulta padre me trae datos que ni siquiera y lo hago tal cual como lo muestra el video, saludos y agradezco una respuesta.
    de igual forma me sucedió con la consulta de ceramica.
    SELECT * FROM productos WHERE PRECIO >ALL(SELECT PRECIO FROM productos WHERE SECCION='JUGUETERIA')
    DESTORNILLADOR 6,63
    RAQUETA TENIS 93,47
    MANCUERNAS 60
    CAMISA CABALLERO 67,13
    ALICATES 6,74
    BALON BALONCESTO 75,27
    DESTORNILLADOR 9,06

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому

      ¿Tienes la misma información que yo en la BBDD? ¿Los nombres de los campos tienen tildes? ¿Cuando hablas de consulta padre, a qué consulta te refieres exactamente? ¿Podrías ponerla por aquí?

    • @bryancfz6166
      @bryancfz6166 6 років тому

      imgur.com/MXlshgp

    • @MiguelAngel-iu1zn
      @MiguelAngel-iu1zn 6 років тому

      LOGRASTE SOLUCIONAR.... TB ME PASA LO MISMO...

  • @jorgegatica
    @jorgegatica 5 років тому

    Me gustaria saber en algun caso en que no podria resolver con max() pero si con all

  • @lautarocalvar4813
    @lautarocalvar4813 6 років тому

    Entendi el segundo ejemplo cuando usas "ALL" y se que es para que puedas dar un ejemplo explicando su uso, pero en este caso no seria mejor un SELECT * FROM productos WHERE precio > (SELECT MAX(precio) FROM productos WHERE seccion = 'Ceramica'); ?? Son equivalentes y mas visible ya que con ALL solo haces referencia al precio mayor y con MAX se obtiene lo mismo y un unico registro.

  • @GermanHard
    @GermanHard 8 років тому +1

    Muchas gracias me quede bloqueado en un ejercicio de clase y solo me ha bastado 6 min de video para entenderlo y hacerlo

  • @Rest28_Efe1
    @Rest28_Efe1 6 років тому

    Hola! Conozco todos los conceptos y sé utilizarlos, pero mi problema es que cuando leo un enunciado no sé exactamente cual he de utilizar. ¿Tienes algún truco/consejo para saber cual hay que utilizar? Por ejemplo: si sale la palabra "cada", seguramente haya que usar group by, etc...

  • @aleberas8259
    @aleberas8259 8 років тому +2

    No me funciona el ALL

  • @santosvazquezubaldo681
    @santosvazquezubaldo681 2 роки тому

    como se llama la app para pintar asi la pantalla

  • @Liznardo
    @Liznardo Місяць тому

    Buenas, este curso aun sirve para poder entender bien las sub consultas, es que me acabo de ver un curos de sql y pues el apartado de subconsultas lo noto como para poder ver un curso especificado a ellas.

    • @pildorasinformaticas
      @pildorasinformaticas  Місяць тому +1

      SQL no ha cambiado en los últimos años. Todo lo que aparece en este curso sirve perfectamente a día de hoy (29-10-24). ¡Saludos!

  • @yo-hx9yl
    @yo-hx9yl 2 роки тому

    Hola gracias por tus vídeos podrías resolverme una duda tengo que marcar en una subconsulta en una página de clientes para diferenciarlos por nacionalidad y edad el caso es este tengo que marcar a los que sean españoles y de más de 50 años podrías ayudarme con esto por favor?

  • @cesaremoreira
    @cesaremoreira 2 роки тому

    Hola, estoy haciendo una revisión de temas relacionados a base de datos y me saltó una duda, las consultas escalonadas son llamadas también escalares?, gracias y adelante maestro

  • @wgmorenoh
    @wgmorenoh 5 років тому +1

    Juan, hola, no vi que hablaras de la subconsulta correlacionada, me perdí o no lo hiciste?, gracias. En el vídeo 11 tampoco lo hablas.

    • @pildorasinformaticas
      @pildorasinformaticas  5 років тому

      Hace tiempo que grabé estos vídeos y no recuerdo bien. Es posible que no mencionara el término de subconsulta correlacionada pero creo recordar (no estoy seguro) que hice algún ejemplo de consulta y subconsulta extrayendo datos de la misma tabla utilizando funciones de agregado (lo que sería lo que se conoce como subconsulta correlacionada). Un saludo!

    • @wgmorenoh
      @wgmorenoh 5 років тому

      @@pildorasinformaticas Si lo hiciste, gracias.

  • @angeloernestofloresmolero3424
    @angeloernestofloresmolero3424 2 роки тому

    Buen video y me preguntaba si podria resolver este archivo de northwind que encontre porfavor se me complico🙏🙏
    1. Crear una base de datos llamada SQLSERVER con más de dos grupos, decida los nombres, crearla en C:\Sufi. Asignar
    a cada archivo 30MB de tamaño inicial.
    2. Cree un esquema Olimpiada y cree las tablas Promocion y Integrantes con clave foránea de Promocion en uno
    de los grupos creados. Inserte registros.
    3. Cree una tabla llamada Mensualidad particionada por el campo del código que será nchar(12). Use por lo menos
    5 particiones, decida usted a que grupo se asignará cada partición.
    4. Crear un usuario que tenga los permisos para ver e insertar datos en las tablas de esquema Olimpiada.
    En el mismo Script, usando Northwind.
    5. Crear una función llamada fduProductosPorAtender que retorne una tabla con los productos que tienen unidades
    por atender (Campo UnitsOnOrder) o que el Stock (UnitsinStock) es menor que el nivel de reposición
    (ReorderLevel). Use la función en una instrucción para crear una vista (decida usted el nombre) y muéstrela en
    Excel.
    6. Crear una función definida por el usuario que devuelva las unidades vendidas de un producto en un determinado
    año. Luego liste los productos con las cantidades vendidas entre Octubre y Diciembre de 1997 que tengan un precio
    entre 10 y 30.
    7. Cree un Trigger para la tabla Suppliers que no permita ingresar registros con el mismo nombre (CompanyName)
    8. Crear un usuario (decida el nombre) con el login del mismo nombre y asigne permisos de lectura y escritura
    únicamente en las tablas Empleados, Clientes y Productos
    9. Cree un cursor que muestre los empleados y las órdenes generadas cuya carga (Freight) sean entre 10 y 50
    10. Cree una vista con las Empleados (Employees) y la cantidad de productos vendidos, así como el monto total
    generado, incluya los datos de la vista en una hoja del archivo de Excel
    11. Crear un archivo en Excel con una lista de empleados e importar los datos en una tabla EmpleadosMaestro,
    asignar una PK al finalizar el proceso. El proceso de importación debe incluir las capturas de las pantallas e
    incluirlas en un documento de Word.
    12. Crear un SP que liste código, descripción, precio y stock de los productos, luego crear un usuario que pueda
    ejecutar el procedimiento y que no pueda visualizar las tablas.
    13. Crear un plan de Mantenimiento llamado Plan Apellidos con las siguientes características:
    a. Sub Plan 01: Base 1, usará la base de datos SQLSERVER
    i. Descripción: Plan Base Final
    ii. Tareas: Reducir la base de datos, Reorganizar índices, Copia de seguridad completa y
    Limpieza de Historial
    iii. Periodicidad: lunes, jueves, sábado. Cada hora a partir de las 5:00 pm
    b. Sub Plan 02: BaseData01, usará la base de datos Northwind
    i. Descripción: Plan Base Sociales
    ii. Tareas: Reducir la base de datos, Copia de seguridad completa y Limpieza de
    Mantenimiento
    iii. Periodicidad: martes, jueves, Domingo. Una vez a las 8:00 pm

  • @joseolivo3475
    @joseolivo3475 7 років тому

    Hola Buenas noche
    quiero una ayuda
    es saber cuando se modifico o inserto un registro en una tablas en sql server

  • @weslinmartinez1802
    @weslinmartinez1802 5 років тому

    No tiene la base de datos para descargarla?

  • @weslei8031
    @weslei8031 8 років тому +1

    Boa tarde professor!
    Estou criando um relatório onde ultilizo consulta união.
    O relatório estava funcionando muito bem nas primeiras 50 consultas. Na proxima consulta inserida apareceu a seguinte mensagem: "Consulta Muito Complexa", e nao pude mais continuar. Existe algum modo de resolver esse problema?

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому

      Copiar e colar aqui o código para sua consulta para que eu possa ajudar. Uma saudação!!

  • @nachowolf4471
    @nachowolf4471 4 роки тому

    Hola como realizarian este comando pero correctamente, ya que de esta manera no se puede:
    MAX(COUNT(CÓDIGOCLIENTE)) FROM PEDIDOS
    Mi intencion es contar los pedidos de los clientes y luego obtener el que mas pedidos hizo. Como lo harían? Las tablas temporales con una buena solucion pero acces no cuenta con ellas.

  • @MarcosEsqueda
    @MarcosEsqueda 8 років тому +1

    Holaaa! Tengo una gran duda con un intento de buscador que estoy haciendo con php. En primer lugar hago una consulta que me muestra por un link si la consulta tiene más de un valor y por otra si es sólo un artículo. Pero yo quiero que cuando se muestre la hoja donde están varios artículos, seleccionar alguno de ellos por medio medio un a, input o como sea y posteriormente, redirigirlo a la vista de una sólo artículo (tal cual el que seleccioné). Muchas gracias!

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому

      Hola !! La explicación de lo que pides es larga y compleja. Imposible de hacerla por aquí. Pero en mi curso de PHP se ven ejemplos en los que se hacen lo que pides. Un saludo!!

    • @MarcosEsqueda
      @MarcosEsqueda 8 років тому

      Lo único donde pude basarme es en la creación del buscador. Hacer lo demás si es complicado :S

  • @lordangus77
    @lordangus77 8 років тому +1

    Hola, buenas! Felicitaciones por tu canal... es de lo mejor que hay! una consulta:
    Estoy trabajando con el paquete xampp y phpmyadmin me dice que "palabra clave no reconocida" cuando uso ALL. Esta es mi consulta: SELECT * FROM PRODUCTOS WHERE PRECIO > ALL (SELECT PRECIO FROM PRODUCTOS WHERE SECCIÓN='CERÁMICA');
    Alguna idea de porque puede ser?? Muchas gracias por tu aporte!

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +1

      La verdad es que no. Debería reconocer la instrucción. El código es correcto y el gestor es el mismo a pesar de trabajar con paquetes diferentes, lo cuál no debería influir para nada en esto. A ver si alguien más lo lee y aporta algo de luz.

  • @pimentelsuzo
    @pimentelsuzo 4 роки тому

    buenas tardes maestro un gran abrazo y muchas gracias por sus aportes excelentes. he intentado la consultas pero siempre me salen los precios mas bajo . asi la hago.
    SELECT * FROM PRODUCTOS WHERE PRECIO> ALL (SELECT PRECIO FROM PRODUCTOS WHERE SECCIÓN="CERAMICA")

    • @santiagocaballero9450
      @santiagocaballero9450 4 роки тому

      Intenta con Select * From Productos Where Precio > (Select Max(Precio) From Productos Where Sección="Cerámica")