Sie sind auf Seite 1von 6

SQL bsico

Contenido
1. Instruccin SELECT
1.1. Partes principales de una instruccin SELECT
1.2. Opciones de SELECT column_list
1.3. Opciones de FROM table_list
1.4. Opciones de WHERE search_condition
1.5. Opciones de GROUP BY group_expression
1.6 Opciones de ORDER BY order_expression

2. Funciones DATE tiles


2.1 Funcin SQL para obtener la fecha actual
2.2 Funcin SQL para calcular la diferencia entre dos fechas
2.3 Funcin SQL para determinar una fecha basada en el futuro

3. Funciones STRING tiles


3.1 Sustitucin de caracteres en un string
3.2 Concatenacin de strings
3.3 Corte de una parte de un string
3.4 Conversin de un nmero a un string
1. Instruccin SELECT
1.1. Partes principales de una instruccin SELECT
SELECT column_list
FROM table_list
WHERE search_condition
GROUP BY group_expression
ORDER BY order_expression [ASC | DESC]
1.2. Opciones de SELECT column_list
a) Todas las columnas:
SELECT *
SELECT T1.*, T2.*
b) Columnas especficas:
SELECT T1.column1, T1.column2, T2.column1
c) Slo valores unvocos:
SELECT DISTINCT column1
d) Utilizacin de alias para nombres de columna (ttulos):
SELECT column1 AS CUSTOMER NUMBER, column2 AS
CUSTOMER NAME
e) Uso de funciones:
En lugar de seleccionar una columna directamente, tambin puede utilizar una
funcin y aplicarla a la columna, por ejemplo:
SELECT AVG(UnitPrice) AS Precio medio)
SELECT SUBSTRING(MiddleName, 1, 1) AS Inicial central
1.3. Opciones de FROM table_list
a) Tablas especficas:
FROM table1 T0, table2 T1
Business One comienza siempre con T0 al numerar las tablas.
b) Con operacin de enlace:
FROM table1 T0 INNER JOIN table2 T1 ON T0.Code = T1.Code
Code es la referencia existente entre las dos tablas, como CardCode,
ItemCode. Si los tipos de datos de la referencia no son compatibles, uno de
ellos se deber convertir.
Por ejemplo: DocNum es un campo numrico y Ref1 un campo de
caracteres.
Para enlazar ambos, debe convertir el nmero a un carcter o viceversa:
CAST(T0.DocNum AS VARCHAR) = T1.Ref1
1.4. Opciones de WHERE search_condition
Limita las lneas devueltas desde SELECT.
a) Operador AND: ambas condiciones deben ser verdaderas.
WHERE CardType = C y Country = Alemania
b) Operador OR: una de las condiciones debe ser verdadera.
WHERE Country = Italia OR Country = Alemania
c) Uso de operadores diferentes:
Igual a: =
No igual: <>, !=
Mayor, menor que: >, <, >=, <=
No mayor, menor que: !>, !<
d) LIKE: compara si un string coincide con un determinado patrn.
CustomerName LIKE Mai%
CustomerName LIKE %aier%
CustomerName NOT LIKE A%
CustomerName LIKE M[ae]ier
CustomerName LIKE M_ier
e) BETWEEN: especifica un rango.
WHERE Age BETWEEN 10 AND 20
WHERE Age NOT BETWEEN 10 AND 20
f) NULL: especifica una bsqueda de valores nulos.
WHERE ContactName IS NULL
WHERE ContactName IS NOT NULL
1.5. Opciones de GROUP BY group_expression
Especifica los grupos para las lneas de salida. Calcula un valor agregado para cada
columna de SELECT.
SELECT country, city, SUM(revenue) FROMGROUP BY country, city
Todas las columnas de la clusula de seleccin deben contar con una funcin
colectiva o encontrarse en la instruccin GROUP BY. Se recomienda que se
utilicen junto con ORDER BY para ordenar la salida de las columnas.
Ejemplos de funciones colectivas:
AVG: devuelve la media de los valores de la expresin
SUM: devuelve el total de los valores
MAX: devuelve el valor ms alto de la expresin
MIN: devuelve el valor ms bajo de la expresin
COUNT: devuelve el nmero de lneas
1.6 Opciones de ORDER BY order_expression
Especifica la clasificacin de los resultados.
a) ASC: clasificacin del valor ms bajo al ms alto.
ORDER BY LastName, FirstName
b) DESC: clasificacin del valor ms alto al ms bajo.
ORDER BY LastName DESC, FirstName DESC
2. Funciones DATE tiles
2.1 Funcin SQL para obtener la fecha actual
GETDATE()
Necesario en condiciones basadas en la fecha de sistema.
2.2 Funcin SQL para calcular la diferencia entre dos fechas
DATEDIFF(datepart, startdate, enddate)
Datepart especifica la parte de la fecha en la que se debe calcular la diferencia (por
ejemplo, ao, mes o da).
Startdate se resta de enddate. Si startdate es posterior a enddate, se devolver un
valor negativo.
2.3 Funcin SQL para determinar una fecha basada en el futuro
DATEADD(datepart, number, date)
Datepart especifica la parte de date en la que se debe aadir un valor nuevo (por
ejemplo, ao, mes o das).
Number especifica el valor utilizado para incrementar date.

3. Funciones STRING tiles


3.1 Sustitucin de caracteres en un string
REPLACE (exp1, exp2, exp3)
Exp1 es el string que se debe buscar.
Exp2 es el patrn para buscar.
Exp3 es el patrn con el que se debe sustituir.
3.2 Concatenacin de strings
Basta con utilizar +.
SELECT Nmero de pedido: + DocEntry
SELECT FirstName + + LastName
3.3 Corte de una parte de un string
SUBSTRING (exp, start, length)
Exp es el string que se debe buscar.
Start es el carcter en el que comienza el substring.
Length es la longitud del substring.
SUBSTRING(C00001, 1, 1) -> C
3.4 Conversin de un nmero a un string
Devuelve un string de caracteres:
STR (Numeric_Exp, length, decimal)
Numeric_Exp puede ser, por ejemplo, una expresin de nmero entero o flotante.
Length es la longitud total del resultado incluyendo el punto decimal.
Decimal es el nmero de posiciones a la derecha del punto decimal.
SELECT STR(OpenQty, 4, 0) + Unidades

Das könnte Ihnen auch gefallen