Está en la página 1de 6

Generar una expresión de consulta

Resource Center » Biblioteca para profesionales » Representación cartográfica y visualización » Trabajar con capas »

Interactuar con contenido de capas » Expresiones de consulta en ArcGIS

Las expresiones de consulta se usan en ArcGIS para seleccionar un subconjunto de


entidades y registros de tablas. Las expresiones de consulta en ArcGIS se ajustan a las
expresiones SQL estándar. Por ejemplo, puede utilizar esta sintaxis mediante la
herramienta Seleccionar por atributos o con el cuadro de diálogo Generador de consultas
para establecer una consulta de definición de capa.

Este tema describe cómo generar las expresiones de cláusula WHERE básicas y es útil si
acaba de comenzar con SQL. Para obtener una referencia más detallada, consulte
Referencia SQL para las expresiones de consulta utilizadas en ArcGIS.

Una expresión SQL simple


SELECT * FROM forma la primera parte de la expresión SQL y se proporciona
automáticamente.

Las expresiones de consulta utilizan la forma general que sigue una cláusula Select *
From <capa o dataset> Where (por ejemplo, la parte de la expresión SQL que aparece
después de SELECT * FROM <Nombre_de capa> WHERE).

Aquí le presentamos la forma general para las expresiones de consulta de ArcGIS:

<Nombre_de campo> <Operador> <Valor o cadena de caracteres>

Para las consultas compuestas, se utiliza la siguiente forma:

<Nombre_de campo> <Operador> <Valor o cadena de caracteres> <Conector>


<Nombre_de campo> <Operador> <Valor o cadena de caracteres> ...

Opcionalmente, se pueden utilizar los paréntesis () para definir el orden de las


operaciones en las consultas compuestas.

Debido a que está eligiendo las columnas como un todo, no puede restringir el SELECT
para que devuelva sólo algunas de las columnas en la tabla correspondiente porque la
sintaxis SELECT * tiene una codificación estricta. Por esta razón, no se pueden utilizar
palabras clave, tales como DISTINCT, ORDER BY y GROUP BY en una consulta SQL en
ArcGIS, excepto cuando se utilizan subconsultas. Consulte Referencia SQL para las
expresiones de consulta utilizadas en ArcGIS para obtener información sobre las
subconsultas.

En la mayoría de los cuadros de diálogo de ArcGIS en los que genera una expresión de
consulta, se le proporciona el nombre de la capa o tabla (o lo puede seleccionar desde una
lista desplegable). Por ejemplo:
La siguiente parte de la expresión es la cláusula WHERE, que es la parte que debe
generar. Una cláusula WHERE de SQL básica debería verse de la siguiente manera

STATE_NAME = 'Alabama'

Esto seleccionará las entidades que contienen "Alabama" en un campo denominado


STATE_NAME.

Sintaxis de SQL
La sintaxis de SQL que se utiliza depende de la fuente de datos. Cada DBMS tiene su
propio dialecto de SQL.

Para consultar datos basados en archivo (incluidas las geodatabases de archivos, las
coberturas, los shapefiles, las tablas INFO, las tablas dBASE y los datos CAD y VPF), debe
usar el dialecto de SQL de ArcGIS que admite un subconjunto de capacidades de SQL.
Para consultar geodatabases personales, debe utilizar la sintaxis de Microsoft Access. Para
consultar una geodatabase de ArcSDE, utilice la sintaxis de SQL del DBMS subyacente (es
decir, Oracle, SQL Server, DB2, Informix, o PostgreSQL).

Los cuadros de diálogo de ArcGIS en los que se crean las cláusulas WHERE de SQL le
ayudarán a utilizar la sintaxis correcta para la base de datos en la que realiza la consulta.
Enumeran los valores y los nombres de campo correctos con los delimitadores adecuados.
También seleccionan por usted los operadores y las palabras clave de SQL relevantes.

Buscar cadenas de caracteres


La cadenas de caracteres siempre deben estar encerradas con comillas simples. Por
ejemplo:

"STATE_NAME" = 'California'

Las cadenas de caracteres en las expresiones distinguen entre mayúsculas y minúsculas,


excepto cuando realiza consultas en clases de entidad y tablas de geodatabase personal.
Para realizar una búsqueda que no distinga entre mayúsculas y minúsculas en otros
formatos de datos, puede utilizar una función SQL para convertir todos los valores al
mismo tipo de letra. Para las fuentes de datos basadas en archivo, como las geodatabases
de archivo o los shapefiles, utilice la función UPPER o LOWER.
Por ejemplo, la siguiente expresión seleccionará a los clientes cuyo apellido esté
almacenado ya sea como Jones o como JONES:

UPPER("LAST_NAME") = 'JONES'

Otras fuentes de datos tienen funciones similares. Las geodatabases personales, por
ejemplo, tienen funciones llamadas UCASE y LCASE que realizan la misma operación.

Utilice el operador LIKE (en lugar del operador =) para crear una búsqueda de cadena de
caracteres parcial. Por ejemplo, esta expresión seleccionará Mississippi y Missouri entre los
nombres de estados de EE. UU.:

"STATE_NAME" LIKE 'Miss%'

% significa que cualquier cosa es aceptable en su lugar: un carácter, cien caracteres o


ningún carácter. Alternativamente, si desea buscar con un comodín que representa un
carácter, utilice _.

Por ejemplo, esta expresión serviría para buscar Catherine Smith y Katherine Smith:

"OWNER_NAME" LIKE '_atherine smith'

Los comodines de más arriba funcionan para los datos basados en archivo o las
geodatabases de ArcSDE. Los comodines que utiliza para consultar geodatabases
personales son * para cualquier cantidad de caracteres y ? para un carácter.

Los caracteres comodín aparecen como botones en los cuadros de diálogo Seleccionar por
atributos y Generador de consultas. Puede hacer clic en el botón para introducir el
comodín en la expresión que está generando. Sólo aparecen los caracteres comodín que
son apropiados para la fuente de datos de la capa o tabla que está consultando.

Si utiliza un carácter comodín en una cadena de caracteres con el operador =, el carácter


se considera parte de la cadena de caracteres, no un comodín.

Puede utilizar los operadores mayor que (>), menor que (<), mayor o igual que (>=),
menor o igual que (<=) y BETWEEN para seleccionar los valores de cadenas de caracteres
basados en el ordenamiento. Por ejemplo, esta expresión seleccionará todas las ciudades
en una cobertura con nombres que comienzan con las letras de M a Z:

"CITY_NAME" >= 'M'

También puede utilizar el operador no igual (<>) cuando realiza consultas de cadenas de
caracteres.
Más información sobre comodines

La palabra clave NULL


Puede utilizar la palabra clave NULL para seleccionar las entidades y los registros que
tienen valores nulos para el campo que se especificó. La palabra clave NULL siempre está
precedida por IS o IS NOT.

Por ejemplo, para encontrar las ciudades para las que no se introdujo la población de
1996, puede utilizar

"POPULATION96" IS NULL

Alternativamente, para encontrar las ciudades para las que se introdujo la población de
1996, puede utilizar

"POPULATION96" IS NOT NULL

Buscar números
Puede consultar números con los operadores igual (=), no igual (<>), mayor que (>),
menor que (<), mayor o igual que (>=), menor o igual que (<=) y BETWEEN.

Por ejemplo

"POPULATION96" >= 5000

Los valores numéricos siempre se enumeran utilizando el punto como delimitador decimal
independientemente de la configuración regional. La coma no se puede usar como
delimitador decimal o de miles en una expresión.

Cálculos
Los cálculos se pueden incluir en las expresiones por medio de los operadores aritméticos
+, -, * y /.

Los cálculos se pueden realizar entre campos y números.

Por ejemplo:

"AREA" >= "PERIMETER" * 100

Los cálculos también se pueden realizar entre campos.


Por ejemplo, para buscar los países con una densidad de población menor o igual que 25
personas por milla cuadrada, podría utilizar esta expresión:

"POP1990" / "AREA" <= 25

Jerarquía del operador


Las expresiones se evalúan de acuerdo con las reglas estándar de jerarquía del operador.
Por ejemplo, la parte de una expresión entre paréntesis se evalúa antes que la parte que
no está entre paréntesis.

El ejemplo:

"HOUSEHOLDS" > "MALES" * "POP90_SQMI" + "AREA"

se evalúa de distinta manera que

"HOUSEHOLDS" > "MALES" * ("POP90_SQMI" + "AREA")

Puede hacer clic para agregar paréntesis y luego introducir la expresión que desea colocar
entre paréntesis, o resaltar la expresión existente y luego hacer clic en el botón Paréntesis
para colocarla entre paréntesis.

Combinar expresiones
Se pueden generar expresiones complejas combinando las expresiones con los operadores
AND y OR.

Por ejemplo, la siguiente expresión selecciona todas las casas que tengan más de 1.500
pies cuadrados y un garaje para tres o más autos:

"AREA" > 1500 AND "GARAGE" > 3

Cuando utiliza el operador OR, al menos una de las dos partes de la expresión separada
por el operador OR debe ser verdadera para que se seleccione el registro.

Por ejemplo:

"RAINFALL" < 20 OR "SLOPE" > 35

Utilice el operador NOT al comienzo de una expresión para buscar entidades o registros
que no coincidan con la expresión especificada.
Por ejemplo:

NOT "STATE_NAME" = 'Colorado'

Las expresiones con NOT se pueden combinar con AND y OR.

Por ejemplo, esta expresión selecciona todos los estados de New England excepto Maine:

"SUB_REGION" = 'New England' AND NOT "STATE_NAME" = 'Maine'

Subconsultas
Una subconsulta es una consulta anidada dentro de otra consulta, y sólo es compatible
con las fuentes de datos de la geodatabase. Se puede usar para aplicar funciones
predicado o agregar o para comparar datos con los valores almacenados en otra tabla. Por
ejemplo, esta consulta seleccionará sólo los países que no se encuentran también listados
en la tabla indep_countries:

"COUNTRY_NAME" NOT IN (SELECT "COUNTRY_NAME" FROM indep_countries)

Para obtener más información, consulte Referencia SQL para las expresiones de consulta
utilizadas en ArcGIS.

Consultar fechas
Los cuadros de diálogo de ArcGIS en los que se crean las cláusulas WHERE de SQL le
ayudarán a utilizar la sintaxis de datos correcta para la base de datos en la que realiza la
consulta. Por lo general, sólo deberá hacer clic en el campo, el operador y el valor para
generar la sintaxis adecuada.
 

También podría gustarte