PDA

Ver la versión completa : Recopilación SQL



welvis30
19-06-2007, 01:25
Una recopilación de consultas que no vienen mal nunca, por si a alguien le vale


SELECT Columna1 + 5 FROM Tabla WHERE Columna2 / 4 = Columna3 *5;
Selecciona columna1 uno de tabla y le suma 5 donde columna2 entre 4 sea columna3 por 5

LOGICOS

SELECT DISTINCT Columna1 FROM tabla [WHERE Condición]
Selecciona solo los valores distintos de Columna1.

SELECT Columna1 FROM Tabla WHERE Columna1 % 2 = 0;
Resto de la división

AGRUPACION

SELECT Columna1 FROM Tabla1 UNION SELECT Columna1 FROM Tabla2;
UNION Junta el resultado de dos queries, eliminando los elementos duplicados del resultado

SELECT Columna1 FROM Tabla1 UNION ALL SELECT Columna1 FROM Tabla2;
UNION ALL Junta el resultado de dos queries, sin eliminar los elementos duplicados del resultado

SELECT Columna1 FROM Tabla1 MINUS SELECT Columna1 FROM Tabla2;
MINUS devuelve las filas resultantes del primer query que no este presentes en el segundo

OTROS

SELECT Columna1 FROM Tabla1 WHERE Columna1 IN(‘Valor1’, ‘Valor2’, ‘Valor3’;
IN Hacer referencia a un conjunto de valores

SELECT Columna1 FROM Tabla1 WHERE Columna1 BETWEEN Valor1 AND Valor2;
BETWEEN hace referencia a un rango de valores (ambos inclusive)


AGRUPACIONES

SELECT COUNT(*) FROM Tabla1 WHERE ...
COUNT devuelve el numero de filas resultantes de la selección

SELECT SUM(Columna1), SUM(Columna2) FROM …..
SUM devuele la suma de los valores de las columnas resultado

SELECT AVG(Columna1), AVG(Columna2) FROM …..
AVG devuelve la media de los valores de las columnas resultado

SELECT MAX(Columna1) FROM….
MAX devuelve el valor máximo de una columna resultado.

SELECT MIN(Columna1) FROM…
MIN devuelve el valor mínimo de una columna resultado.

SELECT VARIANCE(Columna1) FROM…
VARIANCE devuelve el cuadrado de la desviación estandar (varianza) de los valores de una columna

SELECT STDDEV(Columna1) FROM…
STDDEV devuelve la desviación estandar de los valores de una columna


FECHA HORA

SELECT ADD_MONTHS(Columna1, 5) FROM…
ADD_MONTHS añade meses a una fecha

SELECT LAST_DAY(Columna1) FROM….
LAST_DAY devuelve el ultimo dia del mes correspondiente a una fecha

SELECT MONTHS_BETWEEN(FechaFin, FechaInic) FROM…
MONTHS_BETWEEN calcula los meses entre dos fechas

SELECT NEW_TIME(Fecha, ‘EDT’, ‘PDT’) FROM ….
NEW_TIME calcula la fecha/hora correspondiente a una zona horaria

SELECT NEXT_DAY(Fecha, ‘FRIDAY’) FROM …
NEXT_DAY devuelve el siguiente dia de la semana especificado a la fecha

SELECT Columna1 FROM Tabla1 WHERE Columna1 < SYSDATE;
SYSDATE devuelve la fecha del sistema


ARITMETICAS

SELECT ABS(Columna1) FROM….
ABS devuelve el valor absoluto (sin signo) de un numero

SELECT FLOOR(2.3) FROM...devuelve un 2
FLOOR devuele el entero igual o menor al valor de la columna

SELECT CEIL(2.3) FROM….. devuelve un 3
CEIL devuelve el entero igual a mayor al valor de la columna


ALFANUMERICAS


SELECT Codigo, CHR(Codigo) FROM….
CHR devuelve el carácter correspondiente a el codigo ASCII

SELECT CONCAT(Columna1, Columna2) FROM …
CONCAT concatena dos cadenas de caracteres

INITCAP Convierte la primera letra a mayusculas y el resto a minusculas
LOWER y UPPER convierten a minusculas y mayusculas respectivamente

SELECT LPAD(Columna1, 23, ‘*’) FROM…
LPAD y RPAD rellenan con un carácter a la izquierda y derecha respectivamente en una longitud dada

SELECT LTRIM(Columna1, ‘*’) FROM…. / o bien SELECT LTRIM(Columna1) FROM…
LTRIM y RTRIM eliminan un cierto caracter de la izquierda y la derecha respectivamente. En casod de no especificarse el carácter se asume que es el carácter blanco.

SELECT REPLACE(Columna1, ‘Ini’, ‘Fin’) FROM… / o bien SELECT REPLACE(Columna1, ‘Ini’) FROM…
REPLACE reemplaza una cadena de caracteres por otra. En caso de que no se especifique la nueva cadena lo que hace es eliminar la antigua.

SELECT SUBSTR(Columna1, Posicion, Longitud) FROM…
SUBSTR extrae parte de una cadena de caracteres

SELECT TRANSLATE(Columna1, ‘ABCDE’, ‘12345’) FROM…
TRANSLATE traduce carácter a carácter según la tabla especificada

SELECT INSTR(Columna1, ‘A’, PosInicial, NroOcurrencia) FROM…
INSTR busca la ocurrencia de una cadena dentro de otra

SELECT LENGTH(Columna1) FROM.
LENGTH devuelve la longitud del argumento


CONVERSION

TO_CHAR convierte un numero en una cadena de caracteres
STR TO_NUMBER convierte una cadena de caracteres en un numero


CLAUSULAS

SELECT * FROM Tabla1 WHERE condicion
WHERE Para especificar la condicion de selección de registros

SELECT * FROM Tabla1 ORDER BY Columna1 [,Columna2,…] [ASC]/[DESC
ORDER BY Para ordernar el resultado de la selección por una o varias columnas

SELECT Columna1, SUM(Columna2) FROM Tabla1 GROUP BY Columna1
GROUP BY Permite agrupar resultados

SELECT Columna1, COUNT(Columna2) FROM Tabla1 GROUP BY Columna1
GROUP BY Devuelve la suma de los valores de Columna2 correspondientes a cada uno de los valores diferentes de Columna1

SELECT Columna1, SUM(Columna2) FROM Tabla1 GROUP BY Columna1 HAVING SUM(Columna2) > Valor1
HAVING Permite establecer condiciones dentro de agrupaciones, donde no se puede usar la clausula WHER


SUBCONSULTAS

SELECT * FROM Ord WHERE CodProd = (SELECT Cod FROM Prod WHERE Descr = 'Producto3');


CREACION, MODIFICACION, ELIMINACION TABLAS

INSERT INTO Tabla1 VALUES (‘ValorAlfa’, ValorNum…)
UPDATE Tabla1 SET Columna1 = ‘ValorAlfa’, Columna2 = ValorNim… WHERE Condicion
DELETE FROM Tabla1 WHERE Condicion
CREATE DATABASE NombreBaseDatos



------------------------------------------------------------------------------------------------------------------------------------------------------------------

gondar_f
26-06-2007, 19:37
Tu idea es muy buena, normalmente se utilizan unas cuantas clausulas de SQL en las que solo varia la tabla y que campos quieres, y por lo menos a mi, no es la primera vez que no me funciona y me paso minutos hasta que me doy cuenta de que escribi algo incorrectamente (el tipico Fron en lugar de from)... ami eses errores me cuestan mucho encontrarlos y el copy paste te evita cometerlos.

Aun hoy a la mañana programando en javascript en una función fuse funcion en lugar de function y no dava localizado el error, ya que revisaba el algoritmo una y otra vez y me daba la sensación de que estaba correcto, acabe comprovando linea por linea y esa todo funcionaba menos la puta función y yo no me daba cuenta de la puta "t".

Un Saludo