RSS

Concatenación - UNION - uso de LIKE - Nombre de columnas con espacios

lunes, 6 de abril de 2009


CONCATENACIÓN DE CAMPOS

Es posible unir dos o mas cadenas usando un operador de concatenación. El estandar de SQL dice que se deberia usar ||, pero hay muchas diferencias entre los principales proveedores.

SELECT codigo || nombre
FROM departamentos


UNION. Uso de UNION para armar una unica vista con diferentes tablas.
Para crear una vista con datos provenientes de diferentes tablas, debe usar sentencias SELECT separadas por la palabra reservada UNION.
Asegurese de que se enumeraron la misma cantidad de columnas en cada una de las sentencias SELECT.

SELECT nombre FROM Clientes
UNION
SELECT nombre FROM Empleados
UNION
SELECT nombre from artistas


LIKE. Uso del comando LIKE en una sentencia SELECT.
El comando LIKE permite el uso de caracteres comodines:
% Se usa para reemplazar una cadena
_ Se usa para reemplazar un solo caracter.

En el siguiente ejemplo se listan los paises que comienzan con Z. El país Zambia se ajusta al criterio de elección, ya que 'ambia' se iguala con %.

SELECT nombre
FROM paises
WHERE nombre LIKE 'Z%'

BUSQUEDA EN TEXTO COMPLETO
El método "Fuerza bruta" consiste en usar el operador LIKE en cualquiera de los campos a ser inspeccionados.
Esto sería relativamente caro, pero lo suficientemente bueno en la mayoria de los casos. El término a buscar debe escribirse entre dos caracteres comodines y rodeado por comillas simples.
Se deberia construir la cadena literal en algun lenguaje de script - ¡No olvidar las comillas simples!

SELECT nombre FROM gisq.cia
WHERE nombre LIKE '%el%'


FUNCIONES DE AGREGADO. Mostrar un nombre de columna para una funcion de agregado
Cuando uno de los resultados a devolver es calculado (por ejemplo una suma) el nombre de la columna se asignará arbitrariamente. Es posible especificar uno particular, del siguiente modo:

SELECT region, SUM(poblacion) AS Poblacion
FROM cia GROUP BY region


NOMBRES DE COLUMNAS CON ESPACIOS.
Es posible definir nombre de columnas con espacios y estas pueden ser accedidas en las consultas. Por ejemplo:

CREATE TABLE MonstruoEspacial("Balance de cuenta" INT);
INSERT INTO MonstruoEspacial VALUES (42);
SELECT "Balance de cuenta" FROM MonstruoEspacial

traduccido por Monica Galarza