Pseudocolumnas

El lenguaje MI SQL es un lenguaje de consulta poderoso que se basa en el lenguaje SQL para proporcionar consultas espaciales. Al igual que otros dialectos SQL, MI SQL tiene compatibilidad con las pseudocolumnas Estas pseudocolumnas permiten construir la fácil construcción de las consultas. El caso de las pseudocolumnas es irrelevante y, salvo que se indique lo contrario, todas las pseudocolumnas se pueden utilizar en todas las construcciones de una instrucción MI SQL.

Obj

La pseudocolumna Obj representa el atributo espacial en el origen de datos, independientemente del nombre de dicho atributo espacial en el origen de datos. Esta pseudocolumna no se puede usar con las construcciones ORDER BY, LIMIT y OFFSET de una instrucción MI SQL.

Ejemplos


; select the spatial attribute from all the features in the World 
; table
SELECT Obj FROM World
		
; select the spatial attribute from all features whose area is greater 
; than 1000 miles
SELECT Obj FROM World WHERE MI_AREA(Obj, 'sq mi', 'Spherical') > 1000
	

MI_GEOMETRY

Esta es igual a la pseudocolumna Obj. Tiene las mismas características y restricciones que Obj.

Ejemplos


; select the spatial attribute from all the features in the World 
; table
SELECT mi_geometry FROM World

; select the spatial attribute from all features whose area is greater 
; than 1000 miles
SELECT mi_geometry FROM World WHERE MI_AREA(mi_geometry, 'sq
      mi', 'Spherical') > 1000
	

MI_STYLE

En MI SQL estilo es un tipo de dato válido. La pseudocolumna MI_STYLE representa el atributo en el origen de datos que conserva el estilo. El atributo de estilo y, por consiguiente, la pseudocolumna MI_STYLE, tienen ciertas restricciones. Por ejemplo, no se pueden usar en las cláusulas WHERE, ORDER BY, GROUP BY, LIMIT y OFFSET. Solo es válido usar la pseudocolumna MI_STYLE desde el interior de la cláusula SELECT.

Ejemplos


; select the style attribute from all the features in the World 
; table
SELECT mi_style FROM World
	

MI_KEY

La mayoría de los orígenes de datos tienen el concepto de una clave primaria, que identifica exclusivamente una fila específica en el conjunto de datos. MI SQL tiene compatibilidad con las claves primarias, ya sea al usar atributos que definen la clave primaria, o bien al utilizar la pseudocolumna MI_KEY. La pseudocolumna de la clave primaria es un atributo, independientemente de la cantidad de atributos que se usan para definir la clave primaria. En el caso de una clave primaria que consta de varios atributos en el origen de datos, el valor de la clave primaria es una cadena de caracteres que se compone de los valores de la clave primaria. El formato de esta cadena de caracteres es un número que representa la longitud del siguiente valor, seguido por dos puntos, seguidos por una representación de cadena de caracteres del valor, con tantos valores como sea necesario.

Ejemplos


; select the primary key from all features in the World table
SELECT MI_KEY from World

; select the POP_1990 attribute from the feature whose primary key
; equals 1
SELECT POP_1990 from World WHERE MI_KEY=1

; select the POP_1990 attribute from all the features in the World 
; table and sort the results by primary key
SELECT POP_1990 from World ORDER BY MI_KEY

; select the POP_1990 attribute from all the features in the World
; table and GROUP BY the primary key
SELECT POP_1990 from World GROUP BY MI_KEY

; select the POP_1990 attribute from the World table features with the 
; specified list of primary keys
SELECT POP_1990 from World WHERE MI_KEY in (1, 3, 4, 5, 76)

; select the POP_1990 attribute from the World table whose first primary key attribute equals 5 and second primary key equals “Hello”
SELECT POP_1990 from World WHERE MI_KEY='1:5:2:Hello'

	

Mapinfo_ID

MapInfo_ID se puede utilizar en consultas MI SQL. El proveedor de datos TAB publica MapInfo_ID como la clave primaria para una tabla. DescribeTableRequest devuelve la información en metadatos:


<ns4:KeyDefinition keyType="Implicit">
<ns4:AttributeRef>MapInfo_ID</ns4:AttributeRef>
</ns4:KeyDefinition>

Ejemplos


;select state from States where MapInfo_ID=2
SELECT state FROM States WHERE MapInfo_ID='2'