Sql Server cuenta con una gran amplia variedad de funciones estructuradas para que puedas realizar desarrollos y consultoría dentro de su motor de bases de datos. Si estás comenzando a utilizar esta herramienta o estas iniciando un camino de aprendizaje, es importante que debas conocer las principales funciones que a continuación te compartiré.
Primero, hay que saber que SQL Server tiene su propio lenguaje (que es parecido a otros motores de bases de datos estructurados) y al igual que todo lenguaje informático, contiene funciones incorporadas para realizar cálculos dentro de la información en bases de datos.
Para comenzar con el pie derecho, vamos a conocer como se dividen los grupos de instrucciones y funciones (aunque hay muchos mas y al final de esta entrada compartiremos la fuente para llegar a ellas):
Instrucciones más utilizadas SQL. Son instrucciones para extraer datos, consultarlos, transformarlos y/o convertirlos.
SELECT
La instrucción SELECT se utiliza para seleccionar distintos datos de contiene una base de datos, A continuación mostramos un ejemplo:
Ejemplo de como usar la instrucción:
SELECT Nombre, Apellidos, …
FROM Datos_Clientes;
SELECT DISTINCT:
Para seleccionar los distintos valores de una tabla se añade la instrucción:
Ejemplo de como usar la instrucción:
SELECT DISTINCT Nombre, Apellidos, …
FROM Datos_Clientes;
WHERE
La instrucción WHERE es utilizada para establecer condiciones y filtros a la consulta (también se le llama query).
Ejemplo de como usar la instrucción:
SELECT columna1, …
FROM nombre_tabla
WHERE condición;.
AND, OR, NOT
Los operadores AND, OR y NOT se utilizan en la cláusula WHERE, dependiendo del tipo de condición que se quiera establecer.
Ejemplo de como usar la instucción:
SELECT columna1
FROM nombre_tabla
WHERE NOT condición1 AND/OR condición2;
IN
Este comando permite concretar valores múltiples en dentro de la cláusula WHERE.
Ejemplo de como usar la instrucción:
SELECT columna1
FROM nombre_tabla
WHERE nombre_columna IN (valor1, valor2, valor3, valor4,..);
BETWEEN
Esta instruccion de SQL selecciona valores dentro de un rango que se especifica en la cláusula WHERE. Los valores pueden ser fechas, números o texto.
Ejemplo de como usar la instrucción:
SELECT columna_1
FROM nombre_tabla
WHERE nombre_columna BETWEEN valor_1 AND valor_2;
LIKE
El comando LIKE es utilizado en la cláusula WHERE para buscar un valor que contenga los caracteres que se especifiquen en una columna concreta.
Ejemplo de como usar la instucción:
SELECT columna1
FROM nombre_tabla
WHERE columna1 LIKE ‘%caracteres_a_buscar%’;
ORDER BY
Esta instrucción sirve para ordenar los resultados de una consulta en orden ascendente o descendente.
Ejemplo de como usar la instrucción:
SELECT columna1
FROM nombre_tabla
ORDER BY columna1 ASC|DESC;
GROUP BY
Cuando se utilizan funciones de agregación (que vamos a explicar mas adelante), se utiliza GROUP BY para agrupar el resultado de la query en una o varias columnas.
Ejemplo de como usar la instrucción:
SELECT Columna1, COUNT( Columna2)
FROM nombre_tabla
WHERE condición
GROUP BY Columna1;
HAVING
Esta instrucción es utilizada con funciones de agregación en la sección de WHERE, colocando un condicional para que la información extraída cumpla con ese requisito.
Ejemplo de como usar la instrucción:
SELECT columna1
FROM nombre_tabla
WHERE condición
GROUP BY columna1
HAVING condición
ORDER BY columna1;
JOIN
La sentencia JOIN (unir, combinar) de SQL permite combinar registros de una o más tablas en una base de datos. En el Lenguaje de Consultas Estructurado (SQL) hay tres tipos de JOIN: interno, externo y cruzado. El estándar ANSI del SQL especifica cinco tipos de JOIN: INNER, LEFT OUTER, RIGHT OUTER, FULL OUTER y CROSS. Una tabla puede unirse a sí misma, produciendo una auto-combinación, SELF-JOIN.
INNER JOIN
Selecciona todas las filas de las dos columnas siempre y cuando haya una coincidencia entre las columnas en ambas tablas. Es el tipo de JOIN más común.
Sintaxis:
SELECT nombreColumna(s)
FROM tabla1
INNER JOIN tabla2
ON tabla1.nombreColumna=table2.nombreColumna;
Ejemplo:
SELECT *
FROM empleado
INNER JOIN departamento
ON empleado.IDDepartamento = departamento.IDDepartamento
LEFT JOIN
Esta instrucción mantiene todas las filas de la tabla izquierda (la tabla1). Las filas de la tabla derecha se mostrarán si hay una coincidencia con las de la izquierda. Si existen valores en la tabla izquierda pero no en la tabla derecha, ésta mostrará null.
Sintaxis:
SELECT nombreColumna(s)
FROM tabla1
LEFT JOIN tabla2
ON tabla1.nombreColumna=tabla2.nombreColumna;
Ejemplo:
SELECT *
FROM empleado
LEFT OUTER JOIN departamento
ON empleado.IDDepartamento = departamento.IDDepartamento
RIGHT JOIN
Es similar el funcionamiento a LEFT JOIN pero al revés. Ahora se mantienen todas las filas de la tabla derecha (tabla2). Las filas de la tabla izquierda se mostrarán si hay una coincidencia con las de la derecha. Si existen valores en la tabla derecha pero no en la tabla izquierda, ésta se mostrará null.
Sintáxis:
SELECT nombreColumna(s)
FROM tabla1
RIGHT JOIN tabla2
ON tabla1.nombreColumna=tabla2.nombreColumna;
Ejemplo:
SELECT *
FROM empleado
RIGHT OUTER JOIN departamento
ON empleado.IDDepartamento = departamento.IDDepartamento
FULL JOIN
Mientras que LEFT JOIN muestra todas las filas de la tabla izquierda, y RIGHT JOIN muestra todas las correspondientes a la tabla derecha, FULL OUTER JOIN (o simplemente FULL JOIN) se encarga de mostrar todas las filas de ambas tablas, sin importar que no existan coincidencias (usará NULL como un valor por defecto para dichos casos).
Sintaxis:
SELECT * FROM tabla1 FULL JOIN tabla2 WHERE tabla1.columna1 = tabla2.columna1
Ejemplo:
SELECT
E.Nombre as ‘Empleado’,
D.Nombre as ‘Departamento’
FROM Empleados E
FULL JOIN Departamentos D
ON E.DepartamentoId = D.Id
Te comparto un complemento visual de como es el funcionamiento de cada tipo de JOIN de acuerdo a lo que hemos revisado:
Funciones de agregación en SQL. Devuelven un sólo valor, calculado con los valores de una columna.
AVG()
La media o promedio de los valores.
Ejemplo de como usar la función:
SELECT AVG (nombreColumna) FROM nombreTabla;
COUNT()
Devuelve el número de filas que cumplen con un criterio ingresado.
Sintaxis:
SELECT COUNT (nombreColumna) FROM nombreTabla;
MAX()
Regresa el valor máximo de una columna seleccionada.
Sintaxis:
SELECT MAX (nombreColumna) FROM nombreTabla;
MIN()
Devuelve el valor mínimo o más pequeño en una columna seleccionada.
Sintaxis:
SELECT MIN (nombreColumna) FROM nombreTabla;
SUM()
Esta función se utiliza para realizar la sumatoria de una columna numérica seleccionada.
Sintaxis:
SELECT SUM (nombreColumna) FROM nombreTabla;
GROUP BY
Es una sentencia que va muy ligada a las funciones agregadas y sirve para agrupar una o mas columnas.
Sintaxis:
SELECT nombreColumna, funcion_agregada(nombreColumna)
FROM nombreTabla
WHERE nombreColumna operador valor
GROUP BY nombreColumna;
Ejemplo en un uso real, utilizando una tabla de pedidos de cliente:
SELECT Clientes.NombreCliente, Productos.NombreProducto, COUNT (Pedidos.PedidoID) AS NumeroPedidos
FROM ((Pedidos
INNER JOIN Clientes ON Pedidos.ClienteID=Clientes.ClienteID)
INNER JOIN Productos ON Pedidos.ProductoID=Productos.ProductoID)
GROUP BY NombreCliente, NombreProducto;
Funciones escalares SQL. Dan como resultado un sólo valor basándose en el valor de entrada.
UCASE()
Convierte un campo a mayúsculas
Sintaxis:
SELECT UCASE (nombreColumna) FROM nombreTabla;
LCASE()
Convierte un campo a minúsculas
Sintaxis:
SELECT LCASE (nombreColumna) FROM nombreTabla;
MID()
Extrae caracteres de un campo de texto
Sintaxis:
SELECT MID (nombreColumna, inicio [, longitud]) AS unAlias FROM nombreTabla;
LEN()
Devuelve la longitud de un campo de texto
Sintaxis:
SELECT LEN (nombreColumna) FROM nombreTabla;
NOW()
Devuelve la hora y fecha actuales del sistema
Sintaxis:
SELECT NOW() FROM nombreTabla;
FORMAT()
Da formato a un campo para mostrarlo
Sintaxis
SELECT FORMAT(nombreColumna, formato) FROM nombreTabla;
Esto no se acaba aquí, si deseas saber más acerca de funciones de Microsoft SQL Server, te compartimos el enlace donde puedes ver ejemplos de estas y el resto de funciones dando clic aquí
Sin embargo, si deseas tener una consultoría, un curso sobre este tema o algún tipo de servicio que involucre SQL server, Digitnow te ofrece esta opción personalizada para que te ayudemos a cumplir tus objetivos, solo mándanos tus dudas o cómo te podemos ayudar y dar soporte llenando el siguiente formulario: