Comandos SQL de MapInfo

El lenguaje SQL de MapInfo se basa en las normas para SQL-3 y SQL/MM. Las cadenas de caracteres literales deben ir entre comillas simples (‘ejemplo’), mientras que los indicadores (nombres de columnas, nombres de tablas, alias, etc.) deben ir entre comillas dobles (“identificador de ejemplo”) en caso necesario. Los identificadores deben ponerse entre comillas solamente en el caso de que la lógica de análisis no sea capaz de analizar el identificador de la manera correcta. Esto puede incluir identificadores con espacios en sus nombres u otros caracteres especiales. Consulte Reglas para comillas para obtener más información.

En Spectrum Spatial, el lenguaje SQL de MapInfo está compuesto por los siguientes comandos:

Seleccionar


				
SELECT < select_list >
	FROM { < table_source > } [ ,...n ]
	[ WHERE < search_condition > ]
	[ GROUP BY expression [ ,...n ] ]
	[ ORDER BY < column_position | column_name > [ ASC | DESC ]  [ ,...n ]]
	[ LIMIT positive_integer ]
	[ OFFSET positive_integer ]


	< select_list > ::=
		{
			*
			| { table_name | table_alias }.*
			| { expression } [ [ AS ] column_alias ]
		} [ ,...n ]

	< table_source > ::=
		table_name [ [ AS ] table_alias ]
				
			
Nota: No puede ejecutar ORDER BY ni GROUP BY en un ráster, geometría, estilo o columna binaria.
Nota: Los valores NULL para ORDER BY ASC estarán en la parte inferior del orden. Los valores ORDER BY DESC estarán en la parte superior.

Actualizar

				
   UPDATE <table_name>
           SET {column_name = expression} [ ,…n]
           [ WHERE < search_condition > ]
           [ COMMIT_INTERVAL = integer ]
Por ejemplo, para actualizar una columna denominada DENSIDAD en todos los estados utilice la siguiente cadena:
UPDATE STATES set DENSITY = POP_1990 / MI_AREA(obj, 'sq mi', 'Spherical')
Si desea actualizar la columna DENSIDAD para ciertos estados, agregue una cláusula WHERE:
UPDATE STATES set DENSITY = POP_1990 / MI_AREA(obj, 'sq mi', 'Spherical') WHERE STATE_NAME in ('New York', 'New Jersey')
También puede especificar un intervalo de confirmación (el número de cambios confirmados como un lote en una transacción):
UPDATE STATES set DENSITY = POP_1990 / MI_AREA(obj, 'sq mi', 'Spherical') COMMIT_INTERVAL 30 

Insertar


				
INSERT [INTO] { table_name } [ ( column_list ) ]
{ VALUES ({expression | NULL}[, ...n]) | query_specification
				
			

Eliminar


				
DELETE [FROM] { table_name } [ WHERE < search_condition > ]

	< search_condition > ::=
		{ [ NOT ] < predicate > | ( < search_condition > ) }
			[ { AND | OR } [ NOT ] { < predicate > | ( < search_condition > ) }  [ ,...n ] ]

	< predicate > ::=
		{
			expression [ { = | < > | != | > | >= | < | <= } expression ]
			| string_expression [ NOT ] LIKE string_expression [ ESCAPE 'escape_character' ]
			| expression [ NOT ] BETWEEN expression AND expression
			| expression IS [ NOT ] NULL
		}
				
			

es un nombre de columna, columna pseudo, alias de columna, constante, función, o cualquier combinación de nombres de columna, alias de columnas, constantes y funciones conectadas por un operador. Los nombres de columnas y columnas pseudo pueden incluir un prefijo con un nombre de tabla o un alias de tabla, seguido por un carácter de punto (".").

es una referencia a una expresión que resulta en un valor verdadero o falso. La mayoría de las funciones en este documento se pueden usar en condiciones de búsqueda, pero la agregación de funciones no se admite para este uso.

es una referencia a una columna en la lista seleccionada, ya sea una copia exacta de la expresión de la lista seleccionada, el alias, un número basado en 1 que indica la posición de la columna o coln, donde es un número que representa a una columna.

es una referencia a una columna en la lista seleccionada, ya sea una copia exacta de la expresión de la lista seleccionada, el alias, un número basado en 1 que indica la posición de la columna o coln, donde es un número que representa a una columna.