SQL AVANZADO, Prueba Técnica para PROGRAMADOR BackEnd 🤘

Поделиться
HTML-код
  • Опубликовано: 3 янв 2025

Комментарии • 119

  • @hdeleonnet
    @hdeleonnet  Год назад +16

    Mis cursos de Programación: hdeleon.net/cursos-premium/
    La consulta del video:
    SELECT D.name as Department, E.name as Employee, E.salary as Salary
    FROM Employee as E
    INNER JOIN Department as D on D.id = E.departmentid
    WHERE E.salary IN
    (SELECT SWN.salary
    FROM
    (SELECT e.salary,
    ROW_NUMBER() OVER(ORDER BY salary DESC) AS number
    FROM (
    SELECT DISTINCT e2.salary
    FROM Employee as e2
    WHERE e2.departmentid= D.id
    ) as e
    WHERE e.departmentid= D.id
    ) as SWN
    WHERE SWN.number

  • @DannyFJhonstonB
    @DannyFJhonstonB Год назад +57

    Sí, más vídeos de SQL avanzado, por favor!!! 🔥🤘🏻

  • @solpropyme5360
    @solpropyme5360 Год назад +59

    Excelente idea esta de resolver esos casos más complejos, voto por que sigas con más ejemplos👏👏👏

    • @ferhf824
      @ferhf824 Год назад +3

      se aprende mas xD q en cursos de 1 hora

  • @emprendedormex8569
    @emprendedormex8569 Год назад +9

    Este tipo de contenidos deberían tener mucha más difusión sin duda, muchas gracias por tu esfuerzo !

  • @Jhgar1
    @Jhgar1 6 месяцев назад +4

    Muy buen video, hallé una manera más sencilla de resolverlo usando DENSE_RANK y PARTITION BY pero basándome en tu solución:
    SELECT Department, Employee, Salary
    FROM
    (SELECT D.name AS Department, E.name AS Employee, E.salary AS Salary,
    DENSE_RANK() OVER (PARTITION BY D.name ORDER BY E.salary DESC) AS row_num
    FROM Employee AS E
    INNER JOIN Department AS D ON E.departmentId = D.id) AS top_3
    WHERE top_3.row_num

  • @azarelzaleta7619
    @azarelzaleta7619 Год назад +10

    Creo que nunca te había comentado Héctor, pero muchas gracias por todo tu contenido, te sigo desde que estaba en la prepa y ya terminé mi carrera este año y empecé a ejercer en mi primer trabajo, gracias por tanto, nunca se termina de aprender !

  • @edgarduriarte75
    @edgarduriarte75 Год назад +7

    Excelente, también sería un group by por departamento y salario, posteriormente a ese resultado le haces un rownumber con partition, por departamento, y ya con eso ordenas los 3 primero, y un where solamente coges los 3 de cada país y ya, excelentes videos, el mejor canal 👌

  • @lopuma1990
    @lopuma1990 Год назад +3

    No es difícil, más bien hay que entender los que nos piden, si se entiende bien lo que se pide seguramente se puede lograr, aún así gracias por el detalle del vídeo

  • @mauriciogutierrez448
    @mauriciogutierrez448 Год назад +2

    hace tiempo yo tambien hubiera dichoque es es dificl, ya que no conocia mucho sobre sql. ahorita que lo vi la verdad esta facil pero ya por la experiencia. muy bien explicado espero mas videos de sql.

  • @michael19m48
    @michael19m48 Год назад +1

    Gracias por el video, por favor sigue subiendo más videos sobre SQL.

  • @elycode1173
    @elycode1173 Год назад +2

    Si, mas videos de SQL avanzado :) Chingon Hector, gracias.

  • @julio0olive
    @julio0olive Год назад +2

    Que buen video!
    Sólo me quedó una duda: como quedaría la consulta si pudieramos utilizar la instrucción TOP/LIMIT ?

  • @ulyses1018
    @ulyses1018 Год назад

    gracias por el tutorial amigo, mi mente exploto con todo lo que se puede hacer dentro de sql

  • @FranciscoJavierMurilloVasquez
    @FranciscoJavierMurilloVasquez Год назад

    te sigo desde Managua, Nicaragua

  • @oscaregt2
    @oscaregt2 Год назад

    Wow siempre aprendo más de tus videos. Eres un crack. Muchas gracias por compartir tus conocimientos

  • @walkmav8
    @walkmav8 Год назад +1

    Aún no veo el video y tengo la adrenalina como si fuera ver un estreno en el cine

  • @GorbashCodec
    @GorbashCodec Год назад

    Hermano saludos desde Venezuela, Excelente video. Gracias por compartir a la espera de nuevos conocimientos

  • @mijucode5637
    @mijucode5637 Год назад +3

    No la hubiera podido resolver, ya aprendí mucho!!!! Gracias x el gran contenido!!!

  • @marloncode
    @marloncode Год назад +1

    Excelente amigo mas videos dedicados a consultas de menos a más y hasta las consultas mas chingonas!

  • @joseg16
    @joseg16 Год назад

    Primera vez que te veo, muchas gracias, lo explicas muy bien.

  • @wilmertezen4316
    @wilmertezen4316 Год назад

    Haz mas videos así, fue una buena prueba y la solución aún más

  • @carlosalberti
    @carlosalberti Год назад +1

    Buenas , excelente video, no defraudas, por mas videos como este. saludos

  • @gonzalogarcia8288
    @gonzalogarcia8288 Год назад +1

    Gracias por compartir Amigo Metalero 👍👍

  • @juanromantorres5063
    @juanromantorres5063 Год назад +1

    Excelente video como siempre explicaciones claras mas videos de este tipo hay pocos en youtube sobre todo en espanol

  • @JulianRiverplate14
    @JulianRiverplate14 Год назад

    Sos demasiado pro bro!! saludos desde Argentina

  • @GustavoHernandez-fy4fk
    @GustavoHernandez-fy4fk Год назад +1

    Excelente, estaría bien que hicieras más videos de estos

  • @ProgramacionEnGeneral
    @ProgramacionEnGeneral Год назад +3

    Que buen vídeo, quedaría mucho mas limpio utilizando "With" para identificar fácilmente las tablas de las subconsultas

    • @kevinleivacoto
      @kevinleivacoto Год назад +3

      Pensé lo mismo jajaja, pero bueno así también se da visualización a subconsultas un poco más compejas, por si en algún momento trabajan con SnowFlake, o BigQuery y quieran usar una subconsulta para json, o tipos de datos semi estrucrurados, aunque soy fiel defensor de los CTE, esta forma también es buena para que personas que no se dediquen a SQL comos los Data Engineers y los Data Analyst puedan mejorar habilidades

  • @csaraviat
    @csaraviat Год назад +1

    de verdad que en ese ejercicio me hiciste recordar medio ciclo de curso

  • @juliocesaracosta8225
    @juliocesaracosta8225 Год назад

    Si mas videos asi hector por favor😅

  • @adiazwise
    @adiazwise Год назад +1

    💪 excelente video lo tendré que ver otra vez 😅 , si más videos así de sql , súper bueno

  • @Arkgelus
    @Arkgelus Год назад

    mas videos de medio y anvanzado muchas gracias capo nuevo Subs ... !!

  • @jhonatanriveras5335
    @jhonatanriveras5335 Год назад +1

    Muy buena forma de explicar y estas pruebas tecnicas esta geniales.

  • @eduardohidalgo2720
    @eduardohidalgo2720 11 месяцев назад

    Recien lo veo,muy buen video,te lleva paso a paso

  • @MartinTriana1407
    @MartinTriana1407 Год назад

    Excelente video, sigue subiendo ejercicios complejos de SQL por favor.

  • @miusicpro-musicaparacreado9513
    @miusicpro-musicaparacreado9513 11 месяцев назад

    buen video, si se necesitas mas videos de sql avanzado

  • @DanielGutierrez-xj6vz
    @DanielGutierrez-xj6vz Год назад +2

    Muy bueno !

  • @martinflores9611
    @martinflores9611 Год назад +1

    estan buenos sigue sacando videos de sql dificil

  • @soywismangel
    @soywismangel Год назад

    Gracias cabezón... Más vídeos de SQL difícil...😊

  • @daviidgtz19
    @daviidgtz19 Год назад +1

    Excelente video y explicación, ¿puedes hacer una prueba técnica con tablas temporales ?

  • @DavidMartinez-xp1rq
    @DavidMartinez-xp1rq Год назад

    Gracias por compartir esa página, será que hay alguna similar para practicar C#?

  • @j.pgarcia2723
    @j.pgarcia2723 Год назад

    Sólo vengo a agradecer porque me sirvió

  • @ricardoant.castromartinez5791
    @ricardoant.castromartinez5791 Год назад

    Excelente, algunos mas por favor.

  • @cesarsoftnica5126
    @cesarsoftnica5126 Год назад +1

    Excelente aporte Hector saludos🖥💡

  • @sandragualdron5863
    @sandragualdron5863 Год назад

    Muy bueno! mas videos porfavor

  • @marioespinosa5203
    @marioespinosa5203 Год назад

    excelente vídeo, realmente se necesitan contenido como este. me gustaría saber si existen páginas como estas pero con postgresql.

  • @asgharfarhadi6953
    @asgharfarhadi6953 9 месяцев назад

    porfa un video de como elevar el nivel de SQL incluso podrias hacer un cursoen udemy

  • @lupithamondragon3973
    @lupithamondragon3973 Год назад

    Yo digo que para resolver ese tipo de problemas y hacer ese tipo de consultas se necesita muucha imaginación y orden de ideas, cosa que no que no tengo

  • @abelhuallullo
    @abelhuallullo Год назад

    Muy buen video amigo , saludos.

  • @FranciscoJavierMurilloVasquez
    @FranciscoJavierMurilloVasquez Год назад

    Saludos HectorDLeon, Me puedes saludar en tu proximo subida de video

  • @javier_velasquez
    @javier_velasquez Год назад

    Sigue subiendo videos de este tipo.

  • @hectorrojas9587
    @hectorrojas9587 Год назад

    Videazo crack!

  • @oscarperaltanajera5317
    @oscarperaltanajera5317 Год назад +1

    Voy empezando en SQL y siento que si tuviera ese nivel de conocimiento ya podria hacer telequinesis jajaja

  • @nehemiasreyescitalan3918
    @nehemiasreyescitalan3918 Год назад

    Que buen video pana, gracias por compartir tu conocimiento. 👍🏼

  • @gusinthecloud
    @gusinthecloud 6 месяцев назад

    excelente, muchas gracias

  • @eloyherrera
    @eloyherrera Год назад

    Excelente video, cabezón. Gracias

  • @anlodxito5468
    @anlodxito5468 Год назад

    Gracias por compartir tu conocimiento profe

  • @victorvidal7344
    @victorvidal7344 Год назад

    Queremos másssss

  • @AlexLarrinagaCliment
    @AlexLarrinagaCliment Год назад

    Son necesarios ambos WHEREs? Me da la sensación de que con el de la subquery más interna basta, no?

  • @jorgeturiel9689
    @jorgeturiel9689 Год назад +1

    Más videos!!!

  • @reenmolos3544
    @reenmolos3544 8 месяцев назад

    Buen video Rapunzel

  • @luisluisferreira22
    @luisluisferreira22 Год назад

    Buen video, estaria bueno mas de este tipo.

  • @DigitalMatterMusic
    @DigitalMatterMusic Год назад

    Excelente contenido bro!, Estuviera genial que crearas un curso de SQL, yo me apunto, Saludos!.

  • @JohnScript
    @JohnScript Год назад +2

    Pa cuando un cursito de microservicio con .NET? Saludos rey!!!

  • @eOrrego
    @eOrrego Год назад

    gracias, muy interesante!

  • @juandavidgafarogarcia5174
    @juandavidgafarogarcia5174 Год назад

    Excelente contenido

  • @tutoletras2400
    @tutoletras2400 Год назад

    Puedes compartir el documento de la prueba para practicar? Aún no ví la resolución quiero ver si lo puedo hacer solo. Por favor

  • @arturo7058
    @arturo7058 Год назад +1

    Brutal. 👀😲

  • @alexfrias7979
    @alexfrias7979 Год назад

    Un crack de verdad!!!

  • @edgardomolinagonzalez3121
    @edgardomolinagonzalez3121 Год назад

    Profe ¿para trabajar en backend es necesario manejar el DCL o solo el DML y el DDL en el SQL?

  • @iamlagex
    @iamlagex Год назад

    Muchas gracias, aprendí bastante :D

  • @bagocavs
    @bagocavs Год назад +2

    Me acuerdo que en una entreviste hace unos años me tomaron exactamente el mismo el problema, nada mas cambiaba el nombre de las tablas, me habian dado 30 min para resolverla, me acuerdo que llegue justo, tambien habia usado el el row_number.
    Despues tambien me tomaron otra prueba que no pude pasar, habia que usar el group_concat que para ese entonces no tenia idea que era jajaj

  • @fray5892
    @fray5892 Год назад

    Excelente contenido, tienes un curso donde enseñes SQL hasta nivel avanzado? Solo uso Sequalize y la verdad es que hay cosas que requieren meterle código SQL en algunas peticiones

  • @lucianaquiroga4405
    @lucianaquiroga4405 Год назад

    Videos de Store Procedures😊

  • @osmarodinperezrivera665
    @osmarodinperezrivera665 Год назад

    Con los cursos que tienes en tu canal es posible llegar a ese nivel o tienes alguno de pago ?

  • @asgharfarhadi6953
    @asgharfarhadi6953 10 месяцев назад +1

    me suscribo

  • @MarianaPereyra-o7n
    @MarianaPereyra-o7n 2 дня назад

    hola! esta es mi solucion en sql server , esta bien ? porque es distinta pero obtengo el mismo resultado:select b.name Departament , a.name Employee, a.salary Salary
    from Employee a join Department b on a.departmentId=b.id
    where a.salary in (select distinct top 3 salary
    from Employee
    where departmentId= b.id
    order by salary desc)
    order by b.name desc

  • @JoseGomezMadrigal1991
    @JoseGomezMadrigal1991 Год назад

    Excelente vídeo!!!

  • @edwintellez6439
    @edwintellez6439 Год назад +4

    Lo bonito de la programación es que hay distintas formas de hacerlo select D.name as Department,E.name as Employee,T.Salary from (
    SELECT distinct departmentid,salary, dense_rank() over (partition by departmentid order by salary desc) as salary_rank from Employee
    ) as T
    inner join Department D on D.Id = T.DepartmentID
    inner join Employee E on E.Salary =T.Salary
    where salary_rank

  • @DanielGutierrez-xj6vz
    @DanielGutierrez-xj6vz Год назад

    SQL Avanzado !, please !!!

  • @JuanCarlosLaurian
    @JuanCarlosLaurian Год назад +1

    Excelente video. En lo personal nunca me e sentido comodo trabajando con alias en las tablas. Llevo 7 años trabajando con una base de datos donde las tablas llevan la nomeclatura mnt01, mnt02, mnt03... entre otras y tarde mucho en identificarlas como para todabía cambiarles el nombre xD

  • @PinEipolcolada
    @PinEipolcolada Год назад

    Hola Hector! Una duda, ¿por qué no usaste Row_number() over(partition by id order by e.salary) as number? ¿No es posible en la versión de MySQL?
    También me gustaría preguntarte porque no usaste WITH, ¿es más recomendable usar queries anidadas?
    Gracias!

    • @an89mo
      @an89mo Год назад

      Row_number() siempre te va a generar un número distinto por cada fila, aunque los valores se repitan.
      En este caso, para IT, hay 2 filas con valores iguales (85.000). Si usas Row_number(), el primer 85.000 tendría la posición 2 y el segundo la posición 3, por lo que no te serviría para calcular el top 3 (el tercer valor más alto para IT no repetido (70.000) quedaría fuera del TOP)
      En TSQL sí que se podría hacer como comentas, sólo que con Dense_rank() en lugar de Row_number(), y la query quedaría mucho más simplificada.
      Por otro lado, tengo entendido que por cuestiones de uso de memoria, es más recomendable usar subconsultas en lugar de CTEs (WITH)

  • @mosheline
    @mosheline Год назад

    Cien mil likes compañero

  • @martinmehaudy9043
    @martinmehaudy9043 Год назад

    ¡Más videos de SQL! 🤘

  • @JaminFernandez
    @JaminFernandez Год назад +1

    ME GUSTO

  • @edgarocampo1342
    @edgarocampo1342 Год назад

    Seria de gran ayuda puro SQL PRO avanzado

  • @MartinTriana1407
    @MartinTriana1407 Год назад

    Yo lo hice en Oracle pero me da error cuando coloco el WHERE E.DEPARTMENTE = D.ID.

  • @AntonioGarcia-df5bd
    @AntonioGarcia-df5bd Год назад

    Que es un promedio ingeniering.

  • @kjhm-privado
    @kjhm-privado Год назад

    Genial

  • @Cthu666
    @Cthu666 Год назад

    Sección dedicada a sql tienes?

  • @riva9210
    @riva9210 5 месяцев назад

    curiosamente me vino asi en una prueba tecnica para practicante(trainee) de manera presencial con una base de datos real xD

  • @jimmymontenegro8517
    @jimmymontenegro8517 Год назад

    WOW, te pasaste.

  • @daniveloper
    @daniveloper Год назад

    También se pudo hacer un group by directo desde la primer query que hiciste para poder quitar los salarios repetidos

  • @memeneostudio
    @memeneostudio Год назад +1

    Crack

  • @diegogonzalez3562
    @diegogonzalez3562 Год назад

    que crack

  • @senoranillos6703
    @senoranillos6703 Год назад

    Ahora como le pidieron a un conocido en una prueba técnica de una empresa local. Debes hacer el análisis de rendimiento con Notación big O de la consulta final. 👹

  • @sdscode
    @sdscode Год назад

    Seria posible crear el SQL query, usando puro JOIN, en lugar de usar IN ?
    He leido que usando JOINS, el performance de la consulta mejora muchisimo, especialmente si son miles de registros como usualmente pasa.

    • @deivisjlp
      @deivisjlp Год назад

      Seria de verificar, porque en la especificación sql anterior no estaba la sentencia JOIN y se hacia con el where (+) y el IN para los motores son al final varios WHERE AND pero mas legible (corríjanme si estoy mal)

    • @martins__23
      @martins__23 Год назад

      Si, es posible resolverlo solo con Joins pero te vas a complicar la vida porque para ese problema en particular tendrias que usar dos inner joins y un left join. Es mucho mas simple con subconsultas, ahora si lo que te preocupa es el performance puedes aplicar common table expressions (cte) para encapsular fragmentos de codigo y luego reutilizarlo. No depende tanto de si se resuelve con joins o subqueries

  • @ingtellez123
    @ingtellez123 3 месяца назад

    No entiendo por qué no se puede usar LIMIT si está disponible desde la versión 5.0 por lo menos...

    • @hdeleonnet
      @hdeleonnet  3 месяца назад

      Yo no puse las reglas.

  • @jorgefuentes7222
    @jorgefuentes7222 7 месяцев назад

    Se te olvido decir que sampoo es el que te deja brillante el pelo cabezón

  • @eladioquinterolopez8020
    @eladioquinterolopez8020 Год назад

    Más

  • @teptrix2226
    @teptrix2226 Год назад

    Se ocupa un curso sobre SQL avanzado