7.2: Tipos de consultas
- Page ID
- 172505
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\dsum}{\displaystyle\sum\limits} \)
\( \newcommand{\dint}{\displaystyle\int\limits} \)
\( \newcommand{\dlim}{\displaystyle\lim\limits} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\(\newcommand{\longvect}{\overrightarrow}\)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)Se pueden crear numerosas consultas, desde simples hasta complejas. Algunas de las consultas más populares son:
- Consulta de selección de una sola tabla
- Consulta de selección de varias tablas
- Consulta de rango
- Consulta compleja
- Consulta de totales
- Consulta de acciones
- Consulta de parámetros
- Consulta de tabulación cruzada
La consulta más sencilla es una consulta de selección de una sola tabla. Una consulta de una sola tabla se basa en una sola tabla. Básicamente, es lo mismo que un filtro avanzado aplicado a una tabla. Para crear una consulta en la vista Diseño, siga estos pasos:
- Añada la (s) fuente (s) de datos. Esto puede incluir tablas o consultas de la ventana de diálogo Mostrar tabla. Para una consulta de una sola tabla, solo se seleccionará una tabla.
- Unir fuentes de datos relacionadas: Access no crea automáticamente uniones entre consultas y tablas que no estén relacionadas. Si Access no crea uniones cuando se agregan las fuentes de datos, las uniones se deben crear manualmente. Las fuentes de datos que no están unidas a ninguna otra fuente de datos pueden causar problemas con los resultados de la consulta. Para agregar una unión, arrastre un campo de una fuente de datos al campo correspondiente de otra fuente de datos. Access muestra una línea entre los dos campos para indicar que se ha creado una unión. Nota: el siguiente gráfico NO es un ejemplo de una consulta de tabla única. Una consulta de una sola tabla solo tendría una tabla, por lo que no se aplicaría una combinación.
- Añadir campos de salida: haga doble clic o añada un campo de una fuente de datos en el panel superior de la ventana de diseño de la consulta hasta la fila Campo de la cuadrícula de diseño, en el panel inferior de la ventana de diseño de la consulta. Para añadir rápidamente todos los campos a la fila Campo de la cuadrícula de diseño de la consulta, haga doble clic en la tabla o el nombre de la consulta en el panel superior para resaltar todos los campos de esa fuente y, a continuación, arrástrelos todos hacia abajo hasta la cuadrícula de diseño al mismo tiempo. También puede hacer doble clic en el asterisco de la tabla.
- Especifique los criterios: (opcional) utilice las filas Criterios: y/o O: de la cuadrícula para limitar los registros que devuelve la consulta en función de si los datos de los campos cumplen los criterios específicos. Las consultas que no son de selección utilizan ampliamente esta fila.
- Ejecutar (ejecutar) la consulta: para ver los resultados de la consulta, haga clic en el botón Ejecutar de la pestaña Diseño de las herramientas de consulta. Access mostrará los resultados de la consulta en la vista Hoja de datos. Para realizar cambios adicionales en la consulta, haga clic en el botón Ver para volver a la vista de diseño de la consulta y realizar las modificaciones necesarias antes de volver a ejecutar la consulta. Si la consulta está completa, haga clic en el comando Guardar de la barra de herramientas de acceso rápido. Cuando se le pida que le dé un nombre, escriba un nombre descriptivo y haga clic en Aceptar. La nueva consulta debería aparecer ahora en el panel de navegación, en el grupo de objetos Consultas.
Como se indicó anteriormente, una base de datos relacional debe tener varias tablas. Por lo tanto, las consultas de selección de tablas múltiples son mucho más comunes que las consultas de tabla única. La clave de estas consultas es agregar tablas o consultas que estén relacionadas mediante uniones mediante un campo común. Esto puede requerir un poco de planificación antes de componer en el ordenador. Determine qué información se necesita para la salida y, a continuación, señale qué tablas contienen los campos necesarios para producir la información. Un análisis más detallado puede revelar que es posible que se necesiten criterios para racionalizar los resultados. La consulta del gráfico anterior utiliza campos de cuatro tablas relacionadas.
Una consulta de selección con criterios que coinciden con un rango de valores se denomina consulta de rango. Este tipo de consulta se basa en operadores relacionales para restringir los resultados de la consulta. Cuando una consulta de rango compara texto, se utiliza el orden alfabético para determinar qué datos coinciden con los criterios. Por ejemplo, para devolver todos los vehículos usados de menos de 10 000$ de una base de datos de vehículos usados, el criterio sería < 10 000. ¿Observa que no hay un símbolo de dólar o un separador de comas? Añadir un $ delante de un número cambiaría el tipo de datos de un tipo de datos numérico a uno de texto. En otro ejemplo, si se utiliza la tabla de estados para intentar devolver resultados que no incluyen los de Dakota del Norte, se utilizaría un criterio como <> «ND». El uso de comillas indica que el criterio es del tipo de datos Texto.
Una consulta compleja es cualquier consulta que utiliza criterios en varios campos. Los criterios pueden incluir operadores relacionales y operadores lógicos. Si los criterios existen en la misma fila, el operador Y está implícito. El operador O se puede utilizar en la fila de criterios o en la fila O: situada debajo de la fila Criterios:.
Las consultas complejas suelen utilizar caracteres comodín para añadir complejidad adicional. Las consultas complejas a veces incluyen el mismo campo dos veces para adaptarse a criterios adicionales. En estas situaciones, la casilla Mostrar suele estar desactivada para evitar que el campo se muestre dos veces en los resultados de la consulta. El gráfico anterior ilustra una consulta que incluye los criterios AND y OR, además de caracteres comodín. Los resultados deberían producir una lista de CD de música que incluya todos los CD de rock clásico y country de artistas que incluyan el nombre «Brooks» en cualquier combinación. Esto incluiría un CD de Garth Brooks, así como cualquier CD de Brooks y Dunn.
Hay ocasiones en las que establecer criterios simples no generará los resultados deseados, especialmente cuando se trabaja con valores numéricos. El objetivo puede ser ver los resultados de la consulta agrupados o contados de alguna manera. Una consulta de totales utiliza un tipo de función denominada función de agregado para sumar los datos del conjunto de resultados de una consulta. Las funciones de agregado realizan un cálculo en una columna de datos y devuelven un valor único. Access proporciona una variedad de funciones agregadas, entre las que se incluyen Suma, Recuento, Promedio (para calcular promedios), Mín y Máximo. Para sumar datos, añada la función Suma a la consulta, para contar los datos utilice la función Contar, etc. El siguiente ejemplo ilustrará cuántos de los distintos productos del menú de panadería se han pedido. Los resultados de la hoja de datos de la consulta, a la derecha, muestran la cantidad de varios pasteles pedidos en distintas transacciones de pedido.
Al crear una consulta de totales, se agruparán todos los elementos de menú idénticos de distintos pedidos y, a continuación, mediante la función Suma, Access añadirá valores en el campo Cantidad para calcular el número total de pedidos de cada elemento del menú. Para crear la consulta de totales, el primer paso consiste en hacer clic en el botón Totales del grupo Mostrar u ocultar
de la pestaña Diseño de las herramientas de consulta. Esto añadirá una fila Total: a la cuadrícula de diseño de la consulta.
Los valores predeterminados de la fila se establecen en Agrupar por. Al hacer clic en la flecha desplegable de la columna Cantidad de la fila Total: y al seleccionar Suma, se acumularán (sumarán) las cantidades de productos pedidas. Al ejecutar la consulta haciendo clic en el botón Ejecutar, se mostrarán los resultados en la vista de la hoja de datos de la consulta, como se muestra arriba. Observe que el nombre del campo Cantidad cambia a SumOfQuantity.
En Access, las consultas pueden hacer mucho más que solo mostrar datos. Mediante el uso de diversas consultas de acción, Access puede realizar diversas acciones en los datos de la base de datos. Microsoft Access proporciona cuatro tipos diferentes de consultas de acción:
- Anexar:
recupera datos de una o más tablas y los agrega a otra tabla. - Actualizar:
modifica o actualiza los registros. Se pueden especificar criterios para limitar los registros que se actualizan, pero si no se especifica ningún criterio, se actualizarán todos los registros. - Eliminar:
útil para eliminar rápidamente un conjunto de datos de forma regular. - Crear tabla:
recupera los datos de una o más tablas y, a continuación, carga el conjunto de resultados en una tabla nueva. Esa nueva tabla puede residir en la base de datos actualmente abierta o se puede crear una nueva base de datos.
Las consultas de acción cambian los datos en función de un conjunto de criterios. Las consultas de acción pueden eliminar registros, actualizar datos, anexar datos de una o más tablas a otra tabla y crear una tabla nueva. Los usuarios deben tener cuidado porque, una vez ejecutada la consulta, los datos cambian y no se pueden deshacer. Los expertos recomiendan hacer una copia de seguridad de la base de datos antes de realizar consultas de acción importantes.
Una consulta de parámetros recupera información de forma interactiva al solicitar al usuario final que proporcione los criterios antes de ejecutar la consulta. Si una consulta concreta se utiliza con frecuencia pero se modifica ligeramente, una consulta de parámetros puede resultar más eficaz. Cuando se ejecuta la consulta, primero se le pide al usuario que introduzca un parámetro (o varios parámetros). Una vez proporcionado el parámetro, la consulta puede devolver los resultados en función del parámetro proporcionado. La clave para crear los criterios de los parámetros es introducir el indicador del parámetro entre corchetes, por ejemplo: [¿Cuál es tu color favorito?]. Los corchetes harán que se abra un cuadro de diálogo de parámetros cuando el usuario ejecute la consulta. El texto entre corchetes se mostrará al usuario y se mostrará un campo de entrada para que lo introduzca. Si el usuario escribe morado en la solicitud, se devolverán todos los registros de la tabla que almacenan los datos: morado como resultados de la consulta.
En el ejemplo de la derecha, los criterios de los parámetros se introducen en la celda Criterios del campo Género.
Cuando se ejecute la consulta, Access mostrará la siguiente solicitud: Si el usuario escribiera los datos: pulse la solicitud y se mostrarán los siguientes resultados en la vista de la hoja de datos de la consulta. (los datos introducidos en la solicitud no distinguen entre mayúsculas y minúsculas)
Una consulta de tabulación cruzada es un tipo especial de consulta que calcula una suma, un promedio u otra función de agregado y, a continuación, agrupa los resultados en dos conjuntos de valores: uno en el lado izquierdo (encabezados de fila) de la hoja de datos y otro en la parte superior (encabezados de columna), de forma muy parecida a una hoja de cálculo de Excel. Al crear una consulta de tabulación cruzada en la vista Diseño, utilice las filas Total y Tabulación cruzada de la cuadrícula de diseño para especificar qué valores de campo se convertirán en encabezados de columna, qué valores de campos se convertirán en encabezados de fila y qué valores de campo se van a sumar, promediar, contar o calcular de otro modo.
En el siguiente ejemplo, la base de datos de música calculará el número de CD que posee el artista (utilizando los encabezados de las filas) y por género (utilizando los encabezados de las columnas). El campo Título servirá como campo Valor. La fuente de datos es una consulta existente denominada Classic Rock CDs, que proporciona los campos necesarios para crear la consulta entre pestañas. Tras ejecutar la consulta, los resultados de la hoja de datos aparecen de forma similar a:
Una consulta de tabulación cruzada no siempre rellena todos los campos del conjunto de resultados porque las tablas utilizadas en la consulta no siempre contienen valores para todos los puntos de datos posibles. Es posible introducir una expresión en la fila de criterios para limitar los resultados del campo de encabezado de columna. Sin embargo, el uso de una expresión de criterios con el campo de encabezado de columna no limita el número de columnas que devuelve la consulta de tabulación cruzada. En su lugar, limita las columnas que contienen datos. Por ejemplo, supongamos que tiene un campo de encabezado de columna que tiene tres valores posibles: rojo, amarillo y azul. Si aplica el criterio =' azul 'al campo de encabezado de columna, la tabulación cruzada seguirá mostrando una columna para el rojo y otra para el amarillo, pero solo la columna para el azul contiene datos.


