25th Jun 2024 Lectura de 8 minutos ¿Qué son las consultas SQL básicas? Ignacio L. Bisso SQL aprender SQL ejercicio online Índice ¿Qué es una consulta SQL? Nuestra tabla de ejemplo Consultas SQL básicas Consulta 1: Seleccionar todos los datos de una tabla Consulta 2: Seleccionar columnas específicas de una tabla Consulta 3: Realización de cálculos sencillos Consulta 4: Filtrado de datos Consulta 5: Ordenación de datos en el resultado de la consulta Combinarlo todo para resolver problemas empresariales Sigue Aprendiendo Consultas SQL Básicas Puedes acceder a los datos de una base de datos utilizando algunas consultas SQL básicas. En este artículo, repasamos las consultas SQL fundamentales que todo principiante debe conocer. Las bases de datos están por todas partes y contienen distintos tipos de datos. Casi todas admiten SQL, un lenguaje que permite leer y manipular los datos de una base de datos. En este artículo, te mostraré las consultas SQL básicas que puedes utilizar para realizar muchas tareas cotidianas con datos. La mejor manera de aprender SQL es nuestro SQL para principiantes interactivo. Tiene más de 120 ejercicios, comenzando con ejemplos muy sencillos y avanzando luego hacia conceptos como JOINs y condiciones de WHERE. Puede obtener más información sobre SQL en nuestro artículo ¿Qué es SQL? También puede descubrir por qué SQL no es difícil de aprender. ¿Qué es una consulta SQL? Una base de datos es un programa informático que almacena grandes cantidades de datos. Las bases de datos suelen organizarse en tablas. Cada tabla almacena los datos de una cosa, persona, lugar u otro objeto (por ejemplo, la descripción de clientes, productos, citas o empleados). Una vez que se tienen los datos almacenados en una base de datos, se pueden crear informes utilizando estos datos; por ejemplo, se puede crear una lista de los clientes que realizaron transacciones en el último mes. Los informes de base de datos se crean con la ayuda de SQL, o lenguaje de consulta estructurado. SQL es el lenguaje de programación utilizado para comunicarse con las bases de datos. Una consulta SQL es una expresión, similar a una frase en inglés, que define el conjunto de datos que deben recuperarse de la base de datos. Puedes pensar en una consulta SQL como una pregunta que envías a la base de datos; después, esperas que la base de datos responda a la pregunta devolviendo los datos. En este artículo, le mostraremos las consultas SQL más básicas. Éstas se pueden utilizar para realizar tareas de datos comunes. Puedes modificar fácilmente estas consultas SQL y utilizarlas en tu propia base de datos. Antes de comenzar con las consultas, veamos los datos que utilizaremos. Nuestra tabla de ejemplo Las consultas se basarán en una tabla llamada products. Esta tabla almacena toda la información de los productos de una empresa de comercio electrónico. Puede ver las columnas de la tabla en la siguiente imagen: prod_codenameprod_ familycostpricestockproviderstatus 1001Cell Phone A200Phones50085035Trixavailable 1002Cell Phone A310Phones740120050Trixavailable 1003HeadsetAudio2450150Zeysold out 2001Portable SpeakerAudio14023050Zeyavailable 2002Sound Box Hulk1Audio2203400Zeydiscontinued 2003Sound Box Hulk2Audio32053012Zeyavailable 2004HeadsetAudio325885Zeyavailable 3001Tablet X8 8 inchTablets15530035MiniSOftavailable 3002Tablet X12 12 inchTablets21543040MiniSoftavailable Los nombres de las columnas se explican por sí mismos. Quizá la columna más importante sea prod_code. Almacena un código numérico que identifica cada producto (es decir, el ID de cada producto). Además, es bueno tener en cuenta que la columna de estado sólo puede tener cuatro valores válidos: "disponible", "agotado", "próximamente" o "descatalogado". Ahora que ya sabemos qué datos esperar, empecemos a escribir algunas consultas SQL. Consultas SQL básicas Consulta 1: Seleccionar todos los datos de una tabla La primera consulta es una forma sencilla de recuperar toda la información de una tabla de la base de datos. La siguiente consulta muestra todos los registros en todas las columnas de la tabla product columnas de la tabla: SELECT * FROM products Esta sentencia SELECT utiliza el símbolo * para representar "todas las columnas". A continuación, la cláusula FROM indica la tabla que debe leerse. Como podemos ver a continuación, el resultado es la tabla completa: todos los registros y todas las columnas. Puede utilizar esta consulta para echar un vistazo a una tabla y saber qué tipo de datos hay en ella. prod_codenameprod_ familycostpricestockproviderstatus 1001Cell Phone A200Phones50085035Trixavailable 1002Cell Phone A310Phones740120050Trixavailable 1003HeadsetAudio2450150Zeysold out 2001Portable SpeakerAudio14023050Zeyavailable 2002Sound Box Hulk1Audio2203400Zeydiscontinued 2003Sound Box Hulk2Audio32053012Zeyavailable 2004HeadsetAudio325885Zeyavailable 3001Tablet X8 8 inchTablets15530035MiniSOftavailable 3002Tablet X12 12 inchTablets215430140MiniSoftavailable Consulta 2: Seleccionar columnas específicas de una tabla También puede mostrar sólo algunas columnas de una tabla. Supongamos que queremos una lista de precios con las columnas name, provider, prod_family y price. La consulta es muy sencilla: SELECT name, provider, prod_family, price FROM products Especificamos las columnas que queremos extraer de la tabla: name, provider, prod_family, y price. En la segunda línea de la consulta, utilizamos la cláusula FROM para indicar la tabla que hay que leer. El resultado es: nameproviderprod_familyprice Cell Phone A200TrixPhones850 Cell Phone A310TrixPhones1200 HeadsetZeyAudio50 Portable SpeakerZeyAudio230 Sound Box Hulk1ZeyAudio340 Sound Box Hulk2ZeyAudio530 HeadsetZeyAudio58 Tablet X8 8 inchMiniSOftTablets300 Tablet X12 12 inchMiniSoftTablets430 Consulta 3: Realización de cálculos sencillos Podemos realizar cálculos dentro de una consulta SQL. Éstas nos permiten obtener un valor calculado derivado de otros valores almacenados en la tabla de la base de datos. Calculemos los importes de rentabilidad de los productos utilizando las columnas price y cost y, a continuación, mostremos el importe junto al nombre del producto. He aquí la consulta que utilizaríamos: SELECT name, price - cost AS rentability FROM products La segunda línea de la consulta contiene la expresión aritmética price - cost. La palabra clave AS permite asignar el nombre rentability al resultado de esta expresión aritmética. La nueva información se muestra como una columna en el resultado de la consulta: namerentability Cell Phone A200350 Cell Phone A310460 Headset26 Portable Speaker90 Sound Box Hulk1120 Sound Box Hulk2210 Headset26 Tablet X8 8 inch145 Tablet X12 12 inch215 Consulta 4: Filtrado de datos Normalmente no se quieren ver todos los datos de una base de datos. Quiere ver sólo las filas que coinciden con ciertos criterios: productos de una familia de productos o con un precio por debajo de cierto umbral. En SQL, esto se denomina filtrar los datos. La cláusula WHERE filtra los datos que desea del resto de los datos de la tabla. Extrae los registros que cumplen determinadas condiciones. Por ejemplo, supongamos que queremos una lista de precios de los productos de la familia "Audio". Podemos utilizar la siguiente consulta para obtener el resultado: SELECT name, provider, prod_family, price FROM products WHERE prod_family = ‘Audio’ La cláusula WHERE indica que sólo queremos obtener aquellos registros en los que la condición prod_family = ‘Audio’ sea TRUE. Los demás registros (los pertenecientes a las familias Teléfonos o Tabletas) no formarán parte del resultado. En otras palabras, estamos filtrando registros de la tabla products. nameproviderprod_ familyprice HeadsetZeyAudio50 Sound Box Hulk1ZeyAudio340 Portable SpeakerZeyAudio230 Sound Box Hulk2ZeyAudio530 HeadsetZeyAudio58 Consulta 5: Ordenación de datos en el resultado de la consulta A menudo se desea ver los resultados de la consulta en un orden determinado, como los productos del más barato al más caro o los nombres de los productos en orden alfabético. La cláusula ORDER BY se utiliza para definir cómo se ordenarán los registros en el resultado de la consulta. Supongamos que queremos ordenar los productos de nuestra consulta anterior por nombre. Observe cómo utilizamos ORDER BY en esta consulta: SELECT name, provider, prod_family, price FROM products WHERE prod_family = ‘Audio’ ORDER BY name Podemos ver los mismos registros ordenados alfabéticamente por nombre de producto: nameproviderprod_ familyprice HeadsetZeyAudio50 HeadsetZeyAudio58 Portable SpeakerZeyAudio230 Sound Box Hulk1ZeyAudio340 Sound Box Hulk2ZeyAudio530 Combinarlo todo para resolver problemas empresariales Puede combinar todas las funciones SQL mostradas en este artículo en una sola consulta. Combinando las funciones SQL de esta forma se crea una consulta más compleja que puede resolver problemas empresariales reales. El resultado de la última consulta de la sección anterior es similar a una lista de precios de los productos de la familia Audio. Sin embargo, muestra los productos descatalogados o agotados. En la siguiente consulta, añadiremos una segunda condición lógica en la cláusula WHERE para incluir sólo los productos que están disponibles actualmente: SELECT name, provider, prod_family, price FROM products WHERE prod_family = ’Audio’ AND status = ’available’ ORDER BY name Las condiciones de la cláusula WHERE están conectadas con el conector lógico AND; así, el resultado incluirá sólo los registros en los que ambas condiciones lógicas sean TRUE. Podemos ver esto en los siguientes resultados: nameproviderprod_ familyprice HeadsetZeyAudio50 HeadsetZeyAudio58 Portable SpeakerZeyAudio230 Sound Box Hulk2ZeyAudio530 En la siguiente consulta de ejemplo, intentaremos combinar todas las cláusulas SQL tratadas en este artículo. Supongamos que estamos planificando una campaña de marketing y tenemos que elegir dos productos para promocionar. Queremos productos con una rentabilidad superior a 200 dólares y con un stock superior a 25 unidades. También ordenaremos el informe por una métrica llamada "rentabilidad potencial" que se calcula con la fórmula : (price - cost) * stock. Esta es la consulta: SELECT name, price - cost AS rentability, stock, (price - cost) * stock AS potential_rentability FROM products WHERE price - cost > 200 AND stock > 25 ORDER BY (price - cost) * stock DESC; La consulta anterior calcula dos métricas. Una métrica es rentability que se calcula con la fórmula price - cost. La otra métrica es potential_rentability, que se calcula mediante la fórmula (price - cost) * stock. En la cláusula WHERE, la consulta especifica dos condiciones: los registros a devolver deben tener un rentability superior a 200 y un stock superior a 25 unidades. Por último, el resultado de la consulta se ordena por la métrica potential_rentability en orden descendente (de mayor a menor). A continuación se muestra el resultado: namerentabilitystockpotential rentability Tablet X12 12 inch21514030100 Cell Phone A3104605023000 Cell Phone A2003503512250 Sigue Aprendiendo Consultas SQL Básicas En este artículo, cubrimos las consultas SQL básicas que pueden utilizarse para realizar tareas de datos simples. Sin embargo, SQL ofrece muchas más cláusulas y técnicas que permiten realizar más operaciones con los datos. Nuestro curso SQL para principiantes es la mejor manera de dominar el SQL básico. Contiene más de 120 ejercicios que cubren consultas SQL básicas (como las que se muestran en este artículo) y otras construcciones SQL que permiten combinar datos de varias tablas y calcular diversas estadísticas. Si ya conoce los conceptos básicos de SQL, nuestra Hoja de consulta de SQL básico es un práctico recurso de referencia. Le proporcionará un recordatorio conciso de la sintaxis SQL con consultas de ejemplo. Tags: SQL aprender SQL ejercicio online