Bases de datos

Tutorial de SQL. SELECT Parte II

Introducción

En el artículo anterior vimos el uso más básico de la clausula SELECT de SQL, sin embargo apenas arañamos la superficie en cuanto a la cantidad de tipos de selecciones que podemos hacer.

En este segundo artículo vamos a explorar las posibilidades de los comandos de conjunto que nos permiten realizar operaciones sobre las filas que devolvemos (como devolver una suma, o el número de filas) así como el uso de la orden GROUP BY que está íntimamente relacionado con lo anterior. Por otro lado exploraremos las intersecciones que se pueden realizar entre consultas (JOIN).

Funcions de conjunto y Group By

Las funciones de conjunto (aggregate functions en inglés) son una serie de funciones aplicables a cada columna devuelta por un SELECT que nos permiten realizar determinadas acciones sobre ellas. Ejemplo de dichas funciones son obtener la media de una columna, obtener el número de columnas devueltas u obtener el valor máximo de entre los resultados de una columna.

La sintaxis genérica podríamos definirla así

SELECT func1(col1), func2(col2), col3 FROM Tabla WHERE Condicion GROUP BY col3

Como vemos el uso de las funciones de conjunto va asociado al uso de la palabra GROUP BY. Más adelante veremos algunos usos de esta palabra reservada, de momento vamos a ver algunos ejemplos:

  • Count: Probablemente la función de agrupación más usada, devuelve el número de ocurrencias de la columna en cuestión.

SELECT Count(*) FROM Personas;

Nos devolverá el número de filas que hay en la tabla Personas, es completamente equivalente a, por ejemplo

Tutorial de SQL. SELECT Parte I

Introducción

En la entrega anterior vimos una pequeña introducción al comando SELECT de SQL. En él vimos el uso más básico de este comando, es decir, su uso para realizar consultas sencillas de selección y obtener datos de una o varias tablas.

En un 90% de las situaciones ese será el tipo de consultas que utilicemos, sin embargo en ocasiones, ese 10% restante, necesitamos algo más preciso, un comando de selección que nos permita obtener justamente los datos que necesitamos y que no se refieren directamente a una tabla sino que son, quizá, suma de dos o más tablas, intersecciones, obtener los resultados agrupados, ordenados, etc... La sentencia SELECT nos permite hacer todo este tipo de cosas.

Sintaxis

Como ya vimos en la introducción anterior la sintaxis general de una consulta de selección SELECT es la siguiente:

SELECT Tabla1.campo1, Tabla2.campo2 FROM Tabla1, Tabla2 WHERE condiciones

aunque una descripción más detallada es

SELECT [DISTINCT] t1.campo2 [AS NombreCampo1], t2.campo2 [AS NombreCampo2] {,....}
[FROM Tabla1 [t1], Tabla2 [t2] {,...} WHERE condiciones]
[GROUP BY {campos}]
[HAVING condiciones]
[ORDER BY {campos}]

Tutorial de SQL. Introducción

Introducción

SQL son las siglas de Structured Query Language, que traducido significa Lenguaje de consulta estructurado y que es el estandar de facto para acceso a base de datos.

En lenguaje SQL surgió a raiz de la creación en IBM durante la decada de los 70 de un sistema de base de datos llamado "System R". Para manipular y recuperar datos de dicho sistema se diseño un lenguaje llamado SEQUEL (Standard English Query Language) que finalmente se convertiría en SQL (la historia del cambio de nombre es curiosa y se debió a que el nombre SEQUEL ya estaba registrado por otra compañía, aún así hoy en día una de las pronunciaciones para SQL es, precisamente SEQUEL).

Este no pretende ser un tutorial de base de datos sino una pequeña introducción a SQL de forma que es recomendable saber algo de bases de datos antes de meterse en SQL. Es conveniente saber lo que es una base de datos, su estructura y cuanto menos algunos conceptos básicos (como el hecho de que está organizada en tablas, campos y registros). Si no lo has hecho ya y no tienes esos conceptos sería mejor que comenzaras por la Introducción a Bases de Datos. Además esto es, como se indica, solo una introducción, en posteriores entregas iremos viendo métodos más complejos, especialmente en lo que a los operadores de selección se refiere e iremos entrando con más profundidad en cada uno de ellos.

Introducción a Bases de Datos

Introducción

En estos tiempos, con las modernas aplicaciones informáticas que existen hoy en día, los programadores en ocasiones olvidamos que tanto los propios ordenadores como los programas que ejecutan sobre ellos no son más que procesadores de datos, procesadores rápidos, pero procesadores a fin de cuentas.

Los programas en realidad recojen datos del usuario, de archivos en el ordenador, de la entrada de los periféricos y los transforman para producir otros datos. Una aplicación como el photoshop por ejemplo recoje los datos almacenados en forma de bytes en un fichero y permite al usuario mediante la introducción de toda una serie de datos modificarlos para crear otra imagen distinta. La tarjeta gráfica transforma una serie de datos en forma de stream de bytes en secuencias de 24 bits que a su vez el monitor transforma en pixels en la pantalla.

Todo en informática está basado en los datos. Mucha gente, cuando oye hablar de base de datos automáticamente piensa en Microsoft Access o en Oracle o en cualquiera de los motores de bases de datos disponibles en el mercado. En realidad una base de datos es, como su nombre indica, cualquier almacen de datos, ni siquiera es en realidad necesario que dicho almacen sea informático, el termino podría valer para cualquier almacen de datos, como por ejemplo una biblioteca. Las bases de datos actuales, con su organización y sus características propias (SQL, indices, etc) responden a una necesidad creciente de acceder a los datos de la forma más rápida y estructurada posible.