Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Instrucción SELECT
Mostrar todo
Indica al motor de base de datos Microsoft Access que devuelva información de la base de datos como un
conjunto de registros.
SINTAXIS
SELECT [predicado] { * | tabla.* | [tabla.]campo1 [AS alias1] [, [tabla.]campo2 [AS alias2] [, ...]]}
FROM expresióndetabla [, ...] [IN basededatosexterna]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY... ]
[WITH OWNERACCESS OPTION]
PARTE DESCRIPCIÓN
predicado Uno de los siguientes predicados: ALL, DISTINCT, DISTINCTROW o TOP. Utilice el predicado para
restringir el número de registros devueltos. Si no se especifica ninguno, el predeterminado es ALL.
* Especifica que se han seleccionado todos los campos de la tabla o tablas especificadas.
tabla Nombre de la tabla que contiene los campos de los cuales se seleccionan los registros.
campo1, campo2 Nombres de los campos que contienen los datos que desea recuperar. Si incluye más de un campo, se
recuperan en el orden en que se han enumerado.
alias1, alias2 Nombres que se utilizan como encabezados de columna en tabla en vez de los nombres de columna
originales.
expresióndetabla Nombre de la tabla o tablas que contienen los datos que se desean recuperar.
basededatosextern Nombre de la base de datos que contiene las tablas de expresión de tabla si éstas no están en la base de
a datos actual.
COMENTARIOS
Para realizar esta operación, el motor de base de datos Microsoft Access busca la tabla o tablas
especificadas, extrae las columnas elegidas, selecciona las filas que cumplen con los criterios y ordena o
agrupa las filas resultantes en el orden especificado.
SELECT es normalmente la primera palabra en una . La mayoría de las instrucciones SQL son instrucciones
SELECT o SELECT...INTO.
Puede utilizar un asterisco (*) para seleccionar todos los campos de una tabla. En el siguiente ejemplo se
seleccionan todos los campos de la tabla Employees (Empleados):
SELECT * FROM Employees;
Si se incluye un nombre de campo en más de una tabla en la cláusula FROM, ponga delante el nombre de la
tabla y el operador . (punto). En el ejemplo siguiente, el campo Department (Departamento) está en la tabla
Employees (Empleados) y la tabla Supervisors (Supervisores). La instrucción SQL selecciona departamentos
de la tabla Employees y nombres de supervisores de la tabla Supervisors:
Cláusula FROM
Mostrar todo
Especifica las tablas o consultas que contienen los campos enumerados en la instrucción SELECT.
SINTAXIS
SELECT listadecampos
FROM expresióndetabla [IN basededatosexterna]
Una instrucción SELECT que contiene una cláusula FROM consta de las siguientes partes:
PARTE DESCRIPCIÓN
listadecampos Nombre del campo o campos que se van a recuperar junto con cualquier de nombre de campo, funciones
de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de
la instrucción SELECT.
expresióndetabla Expresión que identifica una varias tablas de las que se recuperan datos. La expresión puede ser un solo
nombre de tabla, un nombre de consulta guardado o un compuesto resultante de INNER JOIN, LEFT JOIN,
o RIGHT JOIN.
basededatosextern Ruta de acceso completa de una base de datos externa que contiene todas las tablas de expresióndetabla.
a
COMENTARIOS
Se requiere FROM después de cualquier instrucción SELECT.
Para un mejor funcionamiento y facilidad de uso, se recomienda la utilización de una en vez de una cláusula
IN para recuperar datos de una base de datos externa.
En el siguiente ejemplo se muestra cómo se pueden recuperar datos de la tabla Employees (Empleados):
FROM Employees;
Cláusula WHERE
Mostrar todo
Especifica a qué registros de las tablas enumeradas en la cláusula FROM afecta una instrucción SELECT,
UPDATE o DELETE.
SINTAXIS
SELECT listadecampos
FROM expresióndetabla
WHERE criterios
Una instrucción SELECT que contiene una cláusula WHERE consta de las siguientes partes:
PARTE DESCRIPCIÓN
listadecampos Nombre del campo o campos que se van a recuperar junto con cualquier de nombre de campo, predicados de
selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la instrucción SELECT.
expresióndetabl Nombre de la tabla o tablas de las cuales se recuperan datos.
a
criterios que deben cumplir los registros para ser incluidos en los resultados de la consulta.
COMENTARIOS
El motor de base de datos Microsoft Access selecciona los registros que cumplen las condiciones
enumeradas en la cláusula WHERE. Si no especifica una cláusula WHERE, la consulta devuelve todas las
filas de la tabla. Si especifica más de una tabla en la consulta y no incluye una cláusula WHERE ni una
cláusula JOIN, la consulta genera un de las tablas.
WHERE es opcional, pero cuando se incluye, sigue a FROM. Por ejemplo, puede seleccionar todos los
empleados del departamento de ventas (WHERE Dept = 'Sales') o todos los clientes de edades
comprendidas entre los 18 y los 30 años (WHERE Age Between 18 And 30).
Si no utiliza una cláusula JOIN para realizar operaciones de combinación de SQL en varias tablas, el objeto
Recordset resultante no se podrá actualizar.
WHERE es similar a HAVING. WHERE determina los registros que se seleccionan. De igual modo, una vez
que los registros se agrupan con GROUP BY, HAVING determina qué registros se muestran.
Utilice la cláusula WHERE para eliminar registros que no desea que se agrupen mediante la cláusula GROUP
BY.
Utilice varias expresiones para determinar los registros que devuelve la instrucción SQL. Por ejemplo, la
siguiente instrucción SQL selecciona a todos los empleados cuyos salarios superan los 21.000 $:
Cuando introduzca un nombre de campo que contiene un espacio o puntuación, escriba el nombre entre
corchetes ([ ]). Por ejemplo, una tabla de información de clientes puede incluir información acerca de clientes
específicos:
Para buscar registros fechados el 10 de mayo de 1996 en una base de datos del Reino Unido, debe utilizar la
siguiente instrucción SQL:
Cláusula GROUP BY
Mostrar todo
Combina registros con valores idénticos en la lista de campos especificados en un único registro. Si incluye
una función de agregado de SQL, como Suma o Cuenta en la instrucción SELECT, se crea un valor de
resumen.
SINTAXIS
SELECT listadecampos
FROM tabla
WHERE criterios
[GROUP BY listadecamposdegrupo]
Una instrucción SELECT que contiene una cláusula GROUP BY consta de las siguientes partes:
PARTE DESCRIPCIÓN
listadecampos Nombre del campo o campos que se van a recuperar junto con cualquier de nombre de campo, funciones
de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones
de la instrucción SELECT.
tabla Nombre de la tabla de la cual se recuperan los registros.
criterios Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de datos Microsoft
Access agrupa los valores después de aplicar las condiciones WHERE a los registros.
listadecamposdegrup Nombres de hasta un máximo de 10 campos utilizados para agrupar registros. El orden de los nombres de
o campo de listadecamposdegrupo determina los niveles de agrupación desde el nivel más alto al nivel más
bajo.
COMENTARIOS
GROUP BY es opcional.
Los valores de resumen se omiten si no hay una función de agregado de SQL en la instrucción SELECT.
Los valores de los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Nulos no se
evalúan en ninguna función de agregado de SQL.
Utilice la cláusula WHERE para excluir filas que no desea que estén agrupadas; utilice la cláusula HAVING
para filtrar registros después de que hayan sido agrupados.
A menos que contenga datos o un , un campo de la lista de campos GROUP BY puede hacer referencia a
cualquier campo de cualquier tabla enumerada en la cláusula FROM, incluso si el campo no se incluye en la
instrucción SELECT, siempre y cuando la instrucción SELECT incluya al menos una función de agregado de
SQL. El motor de base de datos Microsoft Access no puede formar grupos en los campos Memo u Objeto
OLE.
Todos los campos de la lista de campos SELECT deben estar incluidos en la cláusula GROUP BY o estar
incluidos como argumentos de una función de agregado de SQL
Cláusula GROUP BY
Mostrar todo
Combina registros con valores idénticos en la lista de campos especificados en un único registro. Si incluye
una función de agregado de SQL, como Suma o Cuenta en la instrucción SELECT, se crea un valor de
resumen.
SINTAXIS
SELECT listadecampos
FROM tabla
WHERE criterios
[GROUP BY listadecamposdegrupo]
Una instrucción SELECT que contiene una cláusula GROUP BY consta de las siguientes partes:
PARTE DESCRIPCIÓN
listadecampos Nombre del campo o campos que se van a recuperar junto con cualquier de nombre de campo, funciones
de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones
de la instrucción SELECT.
tabla Nombre de la tabla de la cual se recuperan los registros.
criterios Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de datos Microsoft
Access agrupa los valores después de aplicar las condiciones WHERE a los registros.
listadecamposdegrup Nombres de hasta un máximo de 10 campos utilizados para agrupar registros. El orden de los nombres de
o campo de listadecamposdegrupo determina los niveles de agrupación desde el nivel más alto al nivel más
bajo.
COMENTARIOS
GROUP BY es opcional.
Los valores de resumen se omiten si no hay una función de agregado de SQL en la instrucción SELECT.
Los valores de los campos GROUP BY se agrupan y no se omiten. No obstante, los valores Nulos no se
evalúan en ninguna función de agregado de SQL.
Utilice la cláusula WHERE para excluir filas que no desea que estén agrupadas; utilice la cláusula HAVING
para filtrar registros después de que hayan sido agrupados.
A menos que contenga datos o un , un campo de la lista de campos GROUP BY puede hacer referencia a
cualquier campo de cualquier tabla enumerada en la cláusula FROM, incluso si el campo no se incluye en la
instrucción SELECT, siempre y cuando la instrucción SELECT incluya al menos una función de agregado de
SQL. El motor de base de datos Microsoft Access no puede formar grupos en los campos Memo u Objeto
OLE.
Todos los campos de la lista de campos SELECT deben estar incluidos en la cláusula GROUP BY o estar
incluidos como argumentos de una función de agregado de SQL.
Cláusula ORDER BY
Mostrar todo
Ordena los registros resultantes de una consulta en un campo o campos especificados en orden ascendente o
descendente.
SINTAXIS
SELECT listadecampos
FROM tabla
WHERE criteriosdeselección
[ORDER BY campo1 [ASC | DESC ][, campo2 [ASC | DESC ]][, ...]]]
Una instrucción SELECT que contiene una cláusula ORDER BY consta de las siguientes partes:
PARTE DESCRIPCIÓN
listadecampos Nombre del campo o campos que se van a recuperar junto con cualquier de nombre de campo, funciones de
agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones de la
instrucción SELECT.
tabla Nombre de la tabla de la cual se recuperan los registros.
criteriosdeselecció Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de datos Microsoft
n Access ordena los valores después de aplicar las condiciones WHERE a los registros.
campo1, campo2 Nombres de los campos en los que se ordenan registros.
COMENTARIOS
ORDER BY es opcional. Sin embargo, si desea que los datos se muestren ordenados, debe utilizarla.
El predeterminado es ascendente (A a la Z, 0 a 9). Los dos ejemplos siguientes ordenan los nombres de los
empleados por los apellidos:
FROM Employees
ORDER BY LastName;
FROM Employees
Para ordenar en forma descendente (Z a la A, 9 a 0), agregue la palabra reservada DESC al final de cada
campo que desee ordenar en forma descendente. En el ejemplo siguiente se seleccionan los salarios y se
colocan en orden descendente:
FROM Employees
Puede incluir campos adicionales en la cláusula ORDER BY. Los registros se ordenan empezando por el
primer campo enumerado después de ORDER BY. Los registros que tienen valores iguales en ese campo se
ordenan por el valor del segundo campo enumerado, y así sucesivamente.
Cláusula HAVING
Mostrar todo
Especifica qué registros agrupados se muestran en una instrucción SELECT con una cláusula GROUP BY.
Después de que GROUP BY combine los registros, HAVING muestra cualquier registro agrupado por la
cláusula GROUP BY que satisfaga las condiciones de la cláusula HAVING.
SINTAXIS
SELECT listadecampos
FROM tabla
WHERE criteriosdeselección
GROUP BY listadecamposdegrupo
[HAVING criteriosdegrupo]
Una instrucción SELECT que contiene una cláusula HAVING consta de las siguientes partes:
PARTE DESCRIPCIÓN
listadecampos Nombre del campo o campos que se van a recuperar junto con cualquier de nombre de campo, funciones
de agregado de SQL, predicados de selección (ALL, DISTINCT, DISTINCTROW o TOP) u otras opciones
de la instrucción SELECT.
tabla Nombre de la tabla de la cual se recuperan los registros.
criteriosdeselección Criterios de selección. Si la instrucción incluye una cláusula WHERE, el motor de base de datos Microsoft
Access agrupa los valores después de aplicar las condiciones WHERE a los registros.
listadecamposdegrup Nombres de hasta un máximo de 10 campos utilizados para agrupar registros. El orden de los nombres de
o campo de listadecamposdegrupo determina los niveles de agrupación desde el nivel más alto al nivel más
bajo.
criteriosdegrupo Expresión que determina los registros agrupados que se muestran.
COMENTARIOS
HAVING es opcional.
HAVING es similar a WHERE, que determina los registros que se seleccionan. Después de que los registros
se agrupen con GROUP BY, HAVING determina qué registros se muestran:
SELECT CategoryID,
Sum(UnitsInStock)
FROM Products
GROUP BY CategoryID
Una cláusula HAVING puede contener hasta un máximo de 40 expresiones unidas por operadores lógicos,
como And y Or.
Instrucción SELECT...INTO
Mostrar todo
Crea una .
SINTAXIS
SELECT campo1[, campo2[, ...]] INTO tablanueva [IN basededatosexterna]
FROM origen
PARTE DESCRIPCIÓN
campo1, campo2 Nombre de los campos que se van a copiar en la tabla nueva.
tablanueva Nombre de la tabla que se va a crear. Si tablanueva tiene el mismo nombre que una tabla existente, se
produce un error interceptable.
basededatosextern Ruta de acceso a una . Si desea una descripción de la ruta de acceso, vea la cláusula IN.
a
origen Nombre de la tabla existente de la cual se seleccionan los registros. Pueden ser una o varias tablas o una
consulta.
COMENTARIOS
Puede utilizar consultas de creación de tabla para archivar registros, hacer copias de seguridad de las tablas,
hacer copias para exportar a otra base de datos o copias para utilizar como base de informes que muestran
datos de un período de tiempo determinado. Por ejemplo, podría producir un informe sobre Ventas mensuales
por región ejecutando la misma consulta de creación de tabla cada mes.
NOTAS
Es posible que desee definir una para la tabla nueva. Cuando crea la tabla, los campos de la tabla
nueva heredan el y el tamaño de campo de cada uno de los campos de las tablas subyacentes de la
Para agregar datos a una tabla existente, utilice la instrucción INSERT INTO en lugar de crear una .
Para averiguar qué registros se van a seleccionar antes de ejecutar la consulta de creación de tabla,
examine antes los resultados de una instrucción SELECT que utilice los mismos criterios de selección.
SINTAXIS
Consulta de datos anexados de varios registros:
INSERT INTO destino [(campo1[, campo2[, ...]])] [IN basededatosexterna]
SELECT [origen.]campo1[, campo2[, ...]
FROM expresióndetabla
Consulta de datos anexados de un solo registro:
INSERT INTO destino [(campo1[, campo2[, ...]])]
VALUES (valor1[, valor2[, ...])
La instrucción INSERT INTO consta de las siguientes partes:
PARTE DESCRIPCIÓN
destino Nombre de la tabla o consulta a la que se van a anexar registros.
campo1, campo2 Nombres de los campos a los que se van a anexar datos, si van a continuación de un argumento destino, o
nombres de los campos de los que se obtienen datos, si van a continuación de un argumento origen.
basededatosextern Ruta de acceso a una . Si desea una descripción de la ruta de acceso, vea la cláusula IN.
a
origen Nombre de la tabla o consulta de la que se van a copiar datos.
expresióndetabla Nombre de la tabla o tablas de las cuales se insertan datos. Este argumento puede ser un solo nombre de
tabla o un compuesto resultante de una operación INNER JOIN, LEFT JOIN o RIGHT JOIN o una consulta
guardada.
valor1, valor2 Valores a insertar dentro de campos específicos de un registro nuevo. Cada valor se inserta en el campo
que corresponde a la posición del valor en la lista: el valor1 se inserta en el campo1 del nuevo registro, el
valor2 en el campo2, y así sucesivamente. Debe separar los valores con una coma y escribir los campos de
texto entre comillas (' ').
COMENTARIOS
Puede utilizar la instrucción INSERT INTO para agregar un solo registro a una tabla mediante la
sintaxis de consulta de datos anexados de un solo registro como se ha mostrado anteriormente. En
este caso, el código especifica el nombre y el valor de cada campo del registro. Debe especificar
cada uno de los campos del registro a los que se va a asignar un valor y un valor para ese campo.
Si no especifica cada campo, el valor predeterminado o se inserta para las columnas que faltan.
Los registros se agregan al final de la tabla.
También puede utilizar INSERT INTO para anexar un conjunto de registros de otra tabla o consulta
mediante la cláusula SELECT ... FROM como se ha mostrado previamente en la sintaxis de
consulta de datos anexados de varios registros. En este caso, la cláusula SELECT especifica los
campos que se van a anexar a la tabla destino especificada.
La tabla origen o destino puede especificar una tabla o una consulta. Si se especifica una consulta,
el motor de base de datos Microsoft Access anexa registros a todas y cada una de las tablas
especificadas en la consulta.
INSERT INTO es opcional, pero cuando se utiliza, precede a la instrucción SELECT.
Si la tabla de destino contiene una , asegúrese de que anexa valores exclusivos no Null al campo o
campos de la clave principal; si no lo hace, el motor de base de datos Microsoft Access no anexará
los registros.
Si anexa registros a una tabla con un campo y desea volver a numerar los registros anexados, no
incluya el campo Autonumérico en su consulta. Pero inclúyalo si desea conservar los valores
originales del campo.
Utilice la cláusula IN para anexar registros a una tabla de otra base de datos.
Para crear una tabla nueva, utilice la instrucción SELECT... INTO en vez de crear una .
Para averiguar qué registros se van a anexar antes de ejecutar una consulta de datos anexados,
ejecute y vea primero los resultados de una que utilice los mismos criterios de selección.
Las consultas de datos anexados copian registros de una o varias tablas a otra. Estas consultas no
afectan a las tablas que contienen los registros que se anexan.
En vez de anexar registros existentes de otra tabla, puede especificar el valor de cada campo de
un solo registro nuevo mediante la cláusula VALUES. Si omite la lista de campos, la cláusula
VALUES debe incluir un valor para cada campo de la tabla; de lo contrario, se producirá un error en
la operación INSERT. Utilice una instrucción adicional INSERT INTO con una cláusula VALUES
para cada registro adicional que desee crear
Cláusula IN
Mostrar todo
Identifica las tablas de cualquier a la cual se puede conectar el motor de base de datos Microsoft Access,
como las bases de datos dBASE o Paradox, o una base de datos Microsoft Access externa.
SINTAXIS
Para identificar una tabla de destino:
FROM expresióndetabla IN
{ruta de acceso | ["ruta de acceso" "tipo"] | ["" [tipo; DATABASE = ruta de acceso]]}
Una instrucción SELECT que contiene una cláusula IN consta de las siguientes partes:
PARTE DESCRIPCIÓN
destino Nombre de la tabla externa en la cual se insertan datos.
expresióndetabl Nombre de la tabla o tablas de las cuales se recuperan datos. Este argumento puede ser un solo nombre de
a tabla, un nombre de consulta guardado o un compuesto que es el resultado de INNER JOIN, LEFT JOIN o
RIGHT JOIN.
ruta de acceso Ruta de acceso completa del directorio o archivo que contiene tabla.
tipo Nombre del tipo de base de datos utilizado para crear tabla si no se trata de una base de datos Microsoft
Access (por ejemplo, dBASE III, dBASE IV, Paradox 3.x o Paradox 4.x).
COMENTARIOS
Puede utilizar IN para conectarse a una sola base de datos externa la vez.
En algunos casos, el argumento de la ruta de acceso hace referencia al directorio que contiene los archivos
de la base de datos. Por ejemplo, cuando trabaje con tablas de bases de datos dBASE, Microsoft FoxPro o
Paradox, el argumento de la ruta de acceso especifica el directorio que contiene archivos .dbf o .db. El
nombre de archivo de la tabla depende del argumento destino o expresióndetabla.
Para especificar una base de datos que no sea Microsoft Access, se anexa un punto y coma (;) al nombre y se
escribe entre comillas simples (' ') o dobles (" "). Por ejemplo, se acepta 'dBASE IV;' o "dBASE IV;".
También puede utilizar la palabra reservada DATABASE para especificar la base de datos externa. Por
ejemplo, las siguientes líneas especifican la misma tabla:
SINTAXIS
FROM tabla1 INNER JOIN tabla2 ON tabla1.campo1 operadordecomparación tabla2.campo2
PARTE DESCRIPCIÓN
tabla1, tabla2 Nombres de las tablas cuyos registros se combinan.
campo1, campo2 Nombres de los campos que se combinan. Si no son numéricos, los campos deben ser del mismo y
contener la misma clase de datos, pero no tienen que tener el mismo nombre.
operadordecomparació Cualquier operador de comparación relacional: "=", "<", ">", "<=", ">=" o "<>".
n
COMENTARIOS
Puede utilizar una operación INNER JOIN en cualquier cláusula FROM. Éste es el tipo más común de
combinación. La combinación interna combina registros de dos tablas siempre que haya valores coincidentes
en un campo común a ambas tablas.
Puede utilizar INNER JOIN con las tablas Departamentos y Empleados para seleccionar todos los empleados
de cada departamento. Por el contrario, para seleccionar todos los departamentos (incluso si algunos no
tienen asignado ningún empleado) o todos los empleados (incluso si algunos no están asignados a un
departamento), puede utilizar una operación LEFT JOIN o RIGHT JOIN a fin de crear una .
Puede combinar cualquier par de campos numéricos de tipos similares. Por ejemplo, puede combinar los
campos y porque son tipos similares. Sin embargo, no puede combinar los tipos de campos y .
En el siguiente ejemplo se muestra cómo se pueden combinar las tablas Categories (Categorías) y Products
(Productos) en el campo CategoryID (IdCategoría):
ON Categories.CategoryID = Products.CategoryID;
En el ejemplo anterior, CategoryID (IdCategoría) es el campo combinado, pero no está incluido en el resultado
de la consulta porque no está incluido en la instrucción SELECT. Para incluir el campo combinado, incluya el
SELECT campos
FROM tabla1 INNER JOIN tabla2
ON tabla1.campo1 operadordecomparación tabla2.campo1 AND
ON tabla1.campo2 operadordecomparación tabla2.campo2) OR
ON tabla1.campo3 operadordecomparación tabla2.campo3)];
SELECT campos
FROM tabla1 INNER JOIN
(tabla2 INNER JOIN [( ]tabla3
[INNER JOIN [( ]tablax [INNER JOIN ...)]
ON tabla3.campo3 operadordecomparación tablax.campox)]
ON tabla2.campo2 operadordecomparación tabla3.campo3)
ON tabla1.campo1 operadordecomparación tabla2.campo2;
Las operaciones LEFT JOIN o RIGHT JOIN pueden estar anidadas dentro de una operación INNER JOIN,
pero una operación INNER JOIN no puede estar anidada dentro de las operaciones LEFT JOIN o RIGHT
JOIN.
SINTAXIS
FROM tabla1 [ LEFT | RIGHT ] JOIN tabla2
ON tabla1.campo1 operadordecomparación tabla2.campo2
Las operaciones LEFT JOIN y RIGHT JOIN constan de las siguientes partes:
PARTE DESCRIPCIÓN
tabla1, tabla2 Nombres de las tablas cuyos registros se combinan.
campo1, campo2 Nombres de los campos que se combinan. Estos campos deben ser del mismo y contener la misma
clase de datos, pero no tienen que tener el mismo nombre.
operadordecomparació Cualquier operador de comparación relacional: "=", "<", ">", "<=", ">=" o "<>".
n
COMENTARIOS
Utilice una operación LEFT JOIN para crear una . Las combinaciones externas por la izquierda incluyen todos
los registros de la primera de las dos tablas (izquierda), incluso si no hay valores coincidentes para los
registros en la segunda tabla (derecha).
Utilice una operación RIGHT JOIN para crear una . Las combinaciones externas por la derecha incluyen todos
los registros de la segunda de las dos tablas (derecha), incluso si no hay valores coincidentes para los
registros en la primera tabla (izquierda).
Por ejemplo, podría utilizar LEFT JOIN con las tablas Departamentos (izquierda) y Empleados (derecha) para
seleccionar todos los departamentos, incluyendo aquellos que no tienen asignados ningún empleado. Para
seleccionar todos los empleados, incluyendo los que no están asignados a ningún departamento, podría
utilizar RIGHT JOIN.
En el siguiente ejemplo se muestra cómo se pueden combinar las tablas Categories (Categorías) y Products
(Productos) en el campo CategoryID (IdCategoría). La consulta genera una lista de todas las categorías,
incluyendo las que no contienen ningún producto:
= Products.CategoryID;
En este ejemplo, CategoryID (IdCategoría) es el campo combinado, pero no está incluido en los resultados de
la consulta porque no está incluido en la instrucción SELECT. Para incluir el campo combinado, introduzca el
JOIN, pero una operación INNER JOIN no puede estar anidada dentro de las operaciones LEFT JOIN o
RIGHT JOIN. Vea la descripción del procedimiento para anidar unas combinaciones dentro de otras en el
Puede unir varias cláusulas ON. Vea la descripción del procedimiento para vincular cláusulas en el
Operación UNION
Mostrar todo
Crea una , que combina los resultados de dos o más tablas o consultas independientes.
SINTAXIS
[TABLE] consulta1 UNION [ALL] [TABLE] consulta2 [UNION [ALL] [TABLE] consultan [ ... ]]
PARTE DESCRIPCIÓN
consulta1- Una instrucción SELECT, el nombre de una consulta almacenada o el nombre de una tabla almacenada precedida
n por la palabra clave TABLE.
COMENTARIOS
Puede combinar los resultados de dos o más consultas, tablas e instrucciones SELECT en cualquier
combinación, con una única operación UNION. En el siguiente ejemplo se combina una tabla existente
denominada New Accounts (Nuevas cuentas) con una instrucción SELECT:
SELECT *
FROM Customers
Cuando se utiliza una operación UNION, de forma predeterminada no se devuelven registros duplicados; no
obstante, puede incluir el predicado ALL para asegurarse de que se devuelven todos los registros, lo cual
hace que la consulta se ejecute más rápido.
Todas las consultas de una operación UNION deben solicitar el mismo número de campos; sin embargo, los
campos no tienen que ser del mismo tamaño ni del mismo .
Utilice solamente en la primera instrucción SELECT ya que se pasan por alto en las restantes. En la cláusula
ORDER BY, haga referencia a los campos según se denominan en la primera instrucción SELECT.
NOTAS
Puede utilizar una cláusula GROUP BY o HAVING en cada argumento de la consulta para agrupar
Puede utilizar una cláusula ORDER BY al final del último argumento de la consulta para mostrar los
SINTAXIS
expresión Like “modelo”
PARTE DESCRIPCIÓN
expresió Expresión SQL utilizada en una cláusula WHERE.
n
modelo Cadena o cadena de caracteres con la que se compara
expresión.
COMENTARIOS
Puede utilizar el operador Como para buscar los valores de un campo que coinciden con el modelo que ha
especificado. En modelo, puede especificar el valor completo (por ejemplo, Like “Smith”), o puede utilizar
En una expresión, puede utilizar el operador Como para comparar el valor de un campo con una expresión de
cadena. Por ejemplo, si especifica Like “C*” en una consulta SQL, la consulta devuelve todos los valores del
campo que empiezan con la letra C. En una , puede pedir al usuario un modelo de búsqueda.
En el siguiente ejemplo se devuelven los datos que comienzan con la letra P seguida de cualquier letra entre
la A y la F y tres dígitos:
Like “P[A-F]###”
La siguiente tabla muestra cómo puede utilizar Como para probar expresiones para diferentes modelos.
COINCIDE NO COINCIDE
TIPO DE COINCIDENCIA MODELO (DEVUELVE (DEVUELVE FALSE)
TRUE)
Caracteres múltiples a*a aa, aBa, aBBBa aBC
*ab* abc, AABB, Xab aZb, bac
Carácter especial a[*]a a*a aaa
Caracteres múltiples ab* abcdefg, abc cab, aab
Carácter individual a?a aaa, a3a, aBa aBBBa
Un único dígito a#a a0a, a1a, a2a aaa, a10a
Intervalo de caracteres [a-z] f, p, j 2, &
Fuera de un intervalo [!a-z] 9, &, % b, a
No es un dígito [!0-9] A, a, &, ~ 0, 1, 9
Combinado a[!b-m]# An9, az0, a99 abc, aj0
Sum (función)
Mostrar todo
Devuelve la suma de un conjunto de valores de un campo específico de una consulta.
SINTAXIS
Sum(expr)
El marcador de posición expr representa una que identifica el campo que contiene los datos numéricos que
desea sumar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de
expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o
definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).
COMENTARIOS
La función Suma suma los valores de un campo. Por ejemplo, puede utilizar la función Suma para determinar
el costo total de los gastos de envío.
La función Suma pasa por alto los registros que contienen campos . En el siguiente ejemplo se muestra cómo
se puede calcular la suma de los productos de los campos UnitPrice (Precio de la unidad) y Quantity
(Cantidad):
Puede utilizar la función Sum en una expresión de consulta. También puede utilizar esta expresión en la
propiedad SQL de un objeto o cuando cree un objeto basado en una consulta SQL
Count (función)
Mostrar todo
Calcula el número de registros que devuelve una consulta.
SINTAXIS
Cuenta(expr)
El marcador de posición expr representa una que identifica el campo que contiene los datos que desea contar
o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr pueden
incluir el nombre de un campo de tabla o una función (que puede ser intrínseca o definida por el usuario, pero
no puede ser ninguna de las otras funciones de agregado de SQL). Puede contar cualquier clase de datos,
incluido texto.
COMENTARIOS
Puede utilizar Cuenta para contar el número de registros de una consulta base. Por ejemplo, puede utilizar
Cuenta para contar el número de pedidos enviados a un determinado país.
Aunque expr puede realizar el cálculo de un campo, Cuenta cuenta simplemente el número de registros, sin
importar los valores que estén almacenados en los mismos.
La función Cuenta no cuenta los registros que tienen campos a no ser que expr sea el asterisco (*). Si utiliza
un asterisco, Cuenta calcula el número total de registros, incluyendo aquéllos que contienen campos Nulos.
Cuenta(*) es considerablemente más rápido que Cuenta([Nombre de columna]). No ponga el asterisco entre
comillas (' '). En el siguiente ejemplo se calcula el número de registros de la tabla Orders (Pedidos):
Avg (función)
Mostrar todo
Calcula la media aritmética de un conjunto de valores de un campo específico de una consulta.
SINTAXIS
Prom(expr)
El marcador de posición expr representa una que identifica el campo que contiene los datos numéricos de los
que desea obtener el promedio o una expresión que realiza un cálculo utilizando los datos de ese campo. Los
operandos de expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede
ser intrínseca o definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de
SQL).
COMENTARIOS
El promedio calculado por Prom es la media aritmética (la suma de los valores dividida entre el número de
valores). Puede utilizar Prom, por ejemplo, para calcular el promedio de los gastos de envío.
Se puede utilizar Prom (Avg) en una expresión de consulta y en la propiedad del objeto o al crear un objeto
basado en una consulta SQL.
SINTAXIS
First(expr)
Last(expr)
El marcador de posición expr representa una que identifica el campo que contiene los datos que desea
utilizar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr
pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o
definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).
COMENTARIOS
Estas funciones devuelven el valor de un campo especificado en el primer o el último registro,
respectivamente, del conjunto de resultados devueltos por una consulta. Si la consulta no incluye una cláusula
ORDER BY, los valores devueltos por estas funciones serán arbitrarios porque los registros no se devuelven
normalmente en ningún orden concreto.
Máx(expr)
El marcador de posición expr representa una que identifica el campo que contiene los datos que desea
evaluar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de expr
pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o
definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).
COMENTARIOS
Puede utilizar Mín y Máx para determinar los valores superiores e inferiores de un campo basándose en la
agregación especificada o agrupación. Por ejemplo, podría utilizar estas funciones para devolver los gatos de
envío más altos y más bajos. Si no hay ninguna agregación especificada, se utiliza la tabla completa.
Puede utilizar Mín y Máx en una expresión de consulta y en la propiedad del objeto o cuando cree un objeto
basado en una consulta SQL.
SINTAXIS
StDev(expr)
StDevP(expr)
El marcador de posición expr representa una que identifica el campo que contiene los datos numéricos que
desea evaluar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de
expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o
definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).
COMENTARIOS
La función DesvEstP (StDevP) evalúa una población y la función DesvEst (StDev) evalúa una muestra de
población.
Si la consulta subyacente contiene menos de dos registros (o ningún registro para la función DesvEstP),
estas funciones devuelven un valor (que indica que no se puede calcular la desviación estándar).
Puede utilizar las funciones DesvEst y DesvEstP en una expresión de consulta. También puede utilizar esta
expresión en la propiedad SQL de un objeto o cuando cree un objeto basado en una consulta SQL.
Funciones Var y VarP
Mostrar todo
Devuelven cálculos de la de una población o una muestra de población representada como un conjunto de
valores de un campo especificado en una consulta.
SINTAXIS
Var(expr)
VarP(expr)
El marcador de posición expr representa una que identifica el campo que contiene los datos numéricos que
desea evaluar o una expresión que realiza un cálculo utilizando los datos de ese campo. Los operandos de
expr pueden incluir el nombre de un campo de tabla, una constante o una función (que puede ser intrínseca o
definida por el usuario, pero no puede ser ninguna de las otras funciones de agregado de SQL).
COMENTARIOS
La función VarP evalúa una población y la función Var evalúa una muestra de población.
Si la consulta subyacente contiene menos de dos registros, las funciones Var y VarP devuelven un valor , que
indica que no se puede calcular la varianza.
Puede utilizar las funciones Var y VarP en una expresión de consulta o en una .