Entrenador
Un simulador de trabajo con datos: tickets de compañeros, tareas reales, SQL de verdad.
217 tickets · 30 abiertos para todos
Ahora
#1Primer contacto con los datos
SELECTDificultad 1 de 3Abrir ticket- #2Una lista de precios breveSELECT→
- #3Lista de precios para sociosSELECT→
- #4El precio con descuentoSELECT→
- #5Una etiqueta sin céntimosSELECT→
- #6La etiqueta ya montadaSELECTSTRINGS→
- #7Segmentos de precioSELECT→
- #8Qué categorías tenemos siquieraSELECT→
- #9Solo teléfonosWHERE→
- #10Todo menos los teléfonosWHERE→
- #11Pocas existenciasWHERE→
- #12La selección económicaWHERE→
- #13Teléfonos asequiblesWHERE→
- #14Portátiles de gama altaWHERE→
- #15Productos que requieren atenciónWHERE→
- #16Rebajas con varias condicionesWHERE→
- #17El segmento medioWHERE→
- #18Dispositivos móvilesWHERE→
- #19Buscando «Pro»WHERE→
- #20La familia GalaxyWHERE→
- #21Un catálogo sin SonyWHERE→
- #22Búsqueda que ignora mayúsculasWHERE→
- #23El catálogo por orden alfabéticoSELECTORDER BY→
- #24Los más baratos arribaSELECTORDER BY→
- #25Productos caros para el escaparateORDER BYWHERE→
- #26Los tres más carosSELECTORDER BY→
- #27La segunda páginaSELECTORDER BY→
- #28La tercera página del catálogoSELECTORDER BY→
- #29El catálogo por estantesSELECTORDER BY→
- #30Reglas de descuentoSELECT→
- #31Cuántos productos hay en totalSELECTAGGREGATE
- #32Cuántas categorías haySELECTAGGREGATE
- #33Cuántos productos caros hayWHEREAGGREGATE
- #34El más barato y el más caroSELECTAGGREGATE
- #35Las existencias totales del almacénSELECTAGGREGATE
- #36El valor de las existenciasSELECTAGGREGATE
- #37El precio medio del catálogoSELECTAGGREGATE
- #38El resumen del catálogoSELECTAGGREGATE
- #39Un resumen con desglosesWHEREAGGREGATE
- #40Más caros que la mediaWHERESUBQUERYAGGREGATE
- #41Los tres más caros por encima de la mediaORDER BYWHERESUBQUERY+1
- #42Nombres más largos que la mediaORDER BYWHERESUBQUERY+2
- #43Por encima o por debajo de la mediaSUBQUERYAGGREGATE
- #44Cuántos productos hay en cada categoríaGROUP BYAGGREGATE
- #45Existencias por categoríaGROUP BYAGGREGATE
- #46El buque insignia de cada categoríaGROUP BYAGGREGATE
- #47Categorías con más de 2 productosGROUP BYHAVINGAGGREGATE
- #48Categorías premiumGROUP BYHAVINGAGGREGATE
- #49Categorías por encima de la media generalGROUP BYHAVINGSUBQUERY+1
- #50Categorías por existenciasGROUP BYORDER BYAGGREGATE
- #51Un perfil de las categoríasGROUP BYAGGREGATE
- #52Una lista de precios en otras monedasJOINWHERE
- #53Una tabla aparte para las categoríasDDLCONSTRAINTS
- #54Llenamos las categoríasDML
- #55El precio medio por categoríaJOINGROUP BYAGGREGATE
- #56Preparamos la clave hacia las categoríasDDL
- #57Vinculamos productos con categoríasWHERESUBQUERYDML
- #58Un vínculo protegido: FOREIGN KEYDDLCONSTRAINTS
- #59La categoría de un producto por claveJOIN
- #60Un producto nuevo en el catálogoDML
- #61Descuento en portátilesWHEREDML
- #62Retiramos una línea de productoWHEREDML
- #63Quitamos el texto sobranteDDL
- #64Cerramos la línea de cámaras (por id)WHERESUBQUERYDML
- #65Una tabla nueva: clientesDDLCONSTRAINTS
- #66Llenamos los clientesDML
- #67Una tabla nueva: pedidosDDLCONSTRAINTS
- #68Llenamos los pedidosDATESDML
- #69¿De verdad funciona la clave?DATESDML
- #70Pedidos con el nombre del clienteJOIN
- #71Pedidos con etiqueta de tamañoJOIN
- #72Cuánto ha gastado cada clienteJOINGROUP BYAGGREGATE
- #73Una columna nueva: emailDDL
- #74Registramos los correos de los clientesDML
- #75Protección contra duplicados: UNIQUEDDLCONSTRAINTS
- #76Todos los clientes y sus pedidosJOINGROUP BYAGGREGATE
- #77Clientes activos y dormidosJOINGROUP BYAGGREGATE
- #78Ingresos por estadoGROUP BYAGGREGATE
- #79Los ingresos realesWHEREAGGREGATE
- #80El ticket medioSELECTAGGREGATE
- #81Quién hace los pedidos más grandesJOINGROUP BYORDER BY+2
- #82El mejor clienteJOINGROUP BYORDER BY+2
- #83Los pedidos de un mesWHEREDATES
- #84URL de los productos (slug)STRINGSDDLDML
- #85Clientes por dominio de correoGROUP BYSTRINGSAGGREGATE
- #86Pedidos por dominio de correoJOINGROUP BYSTRINGS+1
- #87Servicios de correo popularesGROUP BYHAVINGSTRINGS+1
- #88Dominios por mesJOINGROUP BYDATES+2
- #89¿Aceptará la base un correo duplicado?DML
- #90Etiquetas para la versión móvilWHERESTRINGS
- #91Clientes por ciudadGROUP BYAGGREGATE
- #92Ciudades silenciosasJOINGROUP BYHAVING+1
- #93Ciudades silenciosas por dineroJOINGROUP BYHAVING+1
- #94Ingresos por ciudadJOINGROUP BYAGGREGATE
- #95Clientes recurrentesJOINGROUP BYHAVING+1
- #96Clientes recurrentes con un CTEJOINGROUP BYWHERE+2
- #97Pedidos por mesGROUP BYDATESAGGREGATE
- #98Meses fuertesGROUP BYHAVINGDATES+1
- #99El mes como fecha de verdadGROUP BYORDER BYDATES+1
- #100Pedidos después de la nóminaWHEREDATES
- #101Pedidos recientesWHERESUBQUERYDATES+1
- #102Los tres pedidos más recientesSELECTORDER BYDATES
- #103La estación del pedidoSELECTDATES
- #104Los tres mejores clientesJOINGROUP BYORDER BY+2
- #105Pedidos por encima de la mediaWHERESUBQUERYAGGREGATE
- #106Un reparto compartidoJOIN
- #107Quién no ha pedido nuncaWHERESUBQUERY
- #108Pedidos por tamañoGROUP BYAGGREGATE
- #109La cola de tramitaciónSELECTORDER BY
- #110Los grupos grandes de pedidosGROUP BYHAVINGAGGREGATE
- #111El gasto de todos los clientesJOINGROUP BYAGGREGATE
- #112Las líneas de pedidoDDLCONSTRAINTS
- #113Llenamos las líneasDML
- #114Comprado más baratoJOINWHERE
- #115Un índice sobre una clave foráneaDDL
- #116Una tabla para experimentarDATESDDLDML
- #117Qué dice el plan de la consultaDDL
- #118Subir los precios y ver el resultadoWHEREDML
- #119Una tabla intermedia para la lista de preciosDDLDML
- #120Aplicar la lista de preciosWHEREDML
- #121Recoger después de uno mismoDDL
- #122Quién compró quéJOIN
- #123Ventas por productoJOINGROUP BYAGGREGATE
- #124Ingresos por productoJOINGROUP BYAGGREGATE
- #125Ingresos por categoríaJOINGROUP BYAGGREGATE
- #126Top 3 entre las categorías variadasJOINGROUP BYHAVING+2
- #127La cuota de una categoría en los ingresosJOINGROUP BYSUBQUERY+2
- #128Cuánto se alejan del líderJOINGROUP BYCTE+2
- #129Categorías por fuerzaJOINGROUP BYCTE+1
- #130El catálogo con los ingresosJOINGROUP BYCTE+1
- #131Dos desgloses en una consultaJOINGROUP BYAGGREGATE
- #132Todos los desgloses de golpeJOINGROUP BYAGGREGATE
- #133El calendario de abril sin huecosJOINGROUP BYORDER BY+2
- #134El total frente a la suma de las líneasJOINGROUP BYAGGREGATE
- #135El acumulado de los ingresosORDER BYWINDOWDATES+1
- #136La media móvilORDER BYWINDOWDATES+1
- #137Ranking de clientes por gastoJOINGROUP BYORDER BY+2
- #138Ranking de todos los clientesJOINGROUP BYORDER BY+2
- #139Quién es el líderJOINGROUP BYORDER BY+2
- #140Ranking entre las categorías grandesJOINGROUP BYHAVING+3
- #141El líder de cada categoríaJOINGROUP BYORDER BY+4
- #142Categorías con ingresos altosJOINGROUP BYWHERE+3
- #143Productos que nadie ha compradoWHERESUBQUERYUNION
- #144Los más caros que no se vendenJOINORDER BYWHERE
- #145Dos listas en unaWHERESUBQUERYUNION
- #146La lista sin repeticionesWHERESUBQUERYUNION
- #147Los peores candidatosWHERESUBQUERYUNION
- #148Categorías que se han quedado vacíasWHERESUBQUERY
- #149Una comparación segura frente a NULLWHEREAGGREGATE
- #150Calcular los totales de los pedidosWHERESUBQUERYAGGREGATE
- #151Una vista para el catálogoJOINDDL
- #152Una vista sobre un agregadoJOINGROUP BYDDL+1
- #153Cómo cambian los ingresos cada mesGROUP BYORDER BYWHERE+3
- #154El cambio sin celdas vacíasGROUP BYORDER BYCTE+3
- #155Los tramos de precio del catálogoORDER BYWINDOW
- #156¿Vuelven los clientes?JOINORDER BYWINDOW+1
- #157Un informe con subtotalesJOINGROUP BYORDER BY+1
- #158Una fila de total a manoJOINGROUP BYUNION+1
- #159La lista de precios del proveedorDML
- #160El descuento: la columna, los datos y la reglaWHEREDDLDML+1
- #161Protección contra un precio absurdoDDLCONSTRAINTS
- #162Un estado por defectoDATESDDLDML+1
- #163Deshacer solo lo que sobraWHEREDMLTRANSACTION
- #164Reservar existencias con seguridadWHEREDMLTRANSACTION
- #165La tabla de reseñasDDLCONSTRAINTS
- #166Las primeras reseñasDML
- #167Una nota fuera de escalaDML
- #168La valoración de los productosJOINGROUP BYAGGREGATE
- #169Puestos por valoraciónJOINGROUP BYORDER BY+2
- #170Los más flojos por valoraciónJOINGROUP BYORDER BY+1
- #171El tono de las reseñasGROUP BYAGGREGATE
- #172Qué se escribe sobre la bateríaJOINWHERE
- #173Las reseñas más detalladasJOINORDER BYSTRINGS
- #174Ingresos por reseñaJOINGROUP BYAGGREGATE
- #175El desfase entre ventas y reseñasJOINWHERESUBQUERY
- #176Productos sin reseñasJOINWHERE
- #177Valoración frente a ingresosJOINGROUP BYCTE+1
- #178Reseñas de quien no compróJOINWHERESUBQUERY
- #179Un vínculo «muchos a muchos»DDLCONSTRAINTS
- #180Trasladar los vínculos existentesDML
- #181Un producto en varias categoríasDML
- #182Un producto con todas sus categoríasJOINGROUP BYORDER BY+2
- #183Cuántos productos hay ahora en una categoríaJOINGROUP BYAGGREGATE
- #184Productos en dos estantesJOINGROUP BYHAVING+1
- #185Categorías vecinasJOINGROUP BYAGGREGATE
- #186Quitar un vínculo que sobraWHEREDML
- #187Ingresos por categoría tras el M:NJOINGROUP BYAGGREGATE
- #188Quitar la columna que sobraDDL
- #189La tabla de pagosDDLCONSTRAINTS
- #190El extracto de contabilidadDATESDML
- #191Un pago sin importeDML
- #192Qué está todavía sin pagarJOINWHERE
- #193Conciliación de pagosJOINGROUP BYHAVING+1
- #194Con qué se paga exactamenteGROUP BYAGGREGATE
- #195En qué meses entró el dineroSELECTORDER BYDATES
- #196Cuánto pagó cada clienteJOINGROUP BYAGGREGATE
- #197Cómo se fue acumulando el dineroORDER BYWINDOWDATES+1
- #198El último pago de cada pedidoSELECTORDER BYDATES
- #199Dinero por algo canceladoJOINGROUP BYWHERE+1
- #200La tabla de envíosDDLCONSTRAINTS
- #201El registro de envíosDATESDML
- #202Pagado pero no enviadoWHERESUBQUERY
- #203Cuántos días tarda la entregaJOINWHEREDATES
- #204Qué está ahora mismo en caminoJOINWHEREDATES
- #205La carga de trabajo de los transportistasGROUP BYHAVINGAGGREGATE
- #206Qué espera para salirJOINGROUP BYWHERE+1
- #207Quién entrega más rápidoJOINGROUP BYWHERE+2
- #208Cuánto tardamos en preparar el paqueteJOINGROUP BYDATES+1
- #209Enviado sin esperar al dineroJOINGROUP BYHAVING+2
- #210¿Estropea la nota una entrega larga?JOINWHEREDATES
- #211Hay reseña pero no hay dineroJOINWHERESUBQUERY
- #212Con qué se paga en cada ciudadJOINGROUP BYAGGREGATE
- #213La ficha de un pedidoJOINWHERESUBQUERY+1
- #214La cronología de un pedidoJOINUNIONDATES
- #215El estado de los pedidos de un vistazoJOINGROUP BYDATES+1
- #216Un pedido de principio a finWHERESUBQUERYDATES+3
- #217Cerrar los pedidos estancadosWHERESUBQUERYDATES+1