Você está na página 1de 6

SELECT - SQL (Comando)

Visual Studio .NET 2003


Recupera datos de una o ms tablas.
SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] [Alias.] Select_Item
[[AS] Column_Name] [, [Alias.] Select_Item [[AS] Column_Name] ...]
FROM [FORCE][DatabaseName!]Table [[AS] Local_Alias]
[[INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN
DatabaseName!] Table [[AS] Local_Alias] [ON JoinCondition ]
[[INTO Destination] | [TO FILE FileName [ADDITIVE] | TO PRINTER
[PROMPT] | TO SCREEN]] [PREFERENCE PreferenceName]
[NOCONSOLE] [PLAIN] [NOWAIT]
[WHERE JoinCondition [AND JoinCondition ...]
[AND | OR FilterCondition [AND | OR FilterCondition ...]]]
[GROUP BY GroupColumn [, GroupColumn ...]]
[HAVING FilterCondition] [UNION [ALL] SELECTCommand]
[ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]]

Parmetros
SELECT
Especifica los campos, constantes y expresiones que se mostrarn en el resultado
de la consulta.
ALL
De forma predeterminada, se muestran todas las filas del resultado de la
consulta.
DISTINCT
Excluye duplicados de cualquier fila del resultado de la consulta.
Nota Puede utilizar DISTINCT nicamente una vez por cada clusula
SELECT.
TOP nExpr [PERCENT]
Especifica que el resultado de la consulta contenga un nmero determinado de
filas o un porcentaje de filas en el resultado de la consulta. Es necesario incluir
una clusula ORDER BY si incluye la clusula TOP. La clusula ORDER BY
especifica las columnas en las que la clusula TOP determinar el nmero de
filas que se va a incluir en el resultado de la consulta.
Puede especificar desde 1 a 32.767 filas. Las filas de valores idnticos para las
columnas especificadas en la clusula ORDER BY se incluyen en el resultado
de la consulta. Por lo tanto, si especifica 10 para nExpr, el resultado de la
consulta podr obtener ms de 10 filas, si hay ms de 10 filas con valores
idnticos para las columnas especificadas en la clusula ORDER BY.
Si se incluye la palabra clave PERCENT, se redondear al nmero entero ms
alto el nmero de columnas devuelto en el resultado. Los valores permitidos
para nExpr cuando se incluye la palabra clave PERCENT son de 0,01 a 99,99.
Alias.

Califica nombres de elementos coincidentes. Cada elemento que especifique con


Select_Item genera una columna de los resultados de la consulta. Si dos o ms
elementos tienen el mismo nombre, incluya el alias de la tabla y un punto antes
del nombre del elemento para impedir la duplicacin de las columnas.
Select_Item especifica un elemento que se incluir en el resultado de la consulta.
Un elemento puede ser uno de los siguientes:

El nombre de un campo de una tabla de la clusula FROM.


Una constante, especificando que el mismo valor constante debe aparecer
en cada fila del resultado de la consulta.
Una expresin que puede ser el nombre de una funcin definida por el
usuario (FDU).

AS Column_Name
Especifica el ttulo de una columna en el resultado de la consulta. Esta opcin
resulta muy til cuando Select_Item es una expresin o contiene una funcin de
campo y desea dar un nombre significativo a la columna. Column_Name puede
ser una expresin, pero no puede contener caracteres (por ejemplo, espacios) que
no estn permitidos para nombres de campos de tablas.
FROM
Indica las tablas que contienen los datos que ha obtenido la consulta. Si no hay
ninguna tabla abierta, Visual FoxPro muestra el cuadro de dilogo Abrir, donde
puede especificar la ubicacin del archivo. Una vez abierta, la tabla permanece
abierta cuando finaliza la consulta.
FORCE especifica que las tablas se combinen en el orden de aparicin en la
clusula FROM. Si se omite FORCE, Visual FoxPro intentar optimizar la
consulta. Sin embargo, es posible que la consulta se ejecute ms rpido si se
incluye la palabra clave FORCE para desactivar la optimizacin de consultas de
Visual FoxPro.
DatabaseName!
Especifica el nombre de una base de datos inactiva que contiene la tabla. Es
necesario incluir el nombre de la base de datos que contiene la tabla en caso de
que no sea la base de datos activa. Incluya el delimitador signo de exclamacin
(!) despus del nombre de la base de datos y antes del nombre de la tabla.
[AS] Local_Alias
Especifica un nombre temporal para la tabla indicada en Table. Si especifica un
alias local, debe utilizar el alias local en lugar del nombre de la tabla en toda la
instruccin SELECT.
INNER JOIN especifica que el resultado de la consulta contenga slo filas en
una tabla con la que coincidan una o varias filas de otra tabla.
LEFT [OUTER] JOIN especifica que el resultado de la consulta contenga todas
las filas de la tabla a la izquierda de la palabra clave JOIN y slo las filas que
coincidan procedentes de la tabla a la derecha de la palabra clave JOIN. La
palabra clave OUTER es opcional; se puede incluir para resaltar que se ha
creado una combinacin externa.

RIGHT [OUTER] JOIN especifica que el resultado de la consulta contenga


todas las filas de la tabla a la derecha de la palabra clave JOIN y slo las filas
que coincidan de la tabla a la izquierda de la palabra clave JOIN. La palabra
clave OUTER es opcional; se puede incluir para resaltar que se ha creado una
combinacin externa.
FULL [OUTER] JOIN especifica que el resultado de la consulta contenga todas
las filas, coincidan o no, de ambas tablas. La palabra clave OUTER es opcional;
se puede incluir para resaltar que se ha creado una combinacin externa.
ON Join Condition especifica las condiciones segn las cuales se combinan las
tablas.
INTO Destination
Determina donde se almacenan los resultados de la consulta. Si incluye una
clusula INTO y una clusula TO en la misma consulta, la clusula TO se pasar
por alto. Si no incluye la clusula INTO, los resultados de la consulta se
mostrarn en la ventana Examinar. Los resultados de la consulta pueden
dirigirse tambin a la impresora o a un archivo con la clusula TO.
Destination puede ser uno de los siguientes:

ARRAY ArrayName, que almacena los resultados de la consulta en una


matriz de variable de memoria. Si la consulta selecciona 0 registros, la
matriz no se crear.
CURSOR CursorName [NOFILTER | READWRITE], que almacena los
resultados de una consulta en un cursor. Si especifica el nombre de una
tabla abierta, Visual FoxPro generar un mensaje de error. Despus de
ejecutar SELECT, el cursor temporal permanecer abierto y estar activo
y ser de slo lectura a menos que se especifique la opcin
READWRITE. Cuando cierre este cursor temporal, se borrar. Los
cursores pueden existir como un archivo temporal en la unidad
SORTWORK.
Incluya NOFILTER para crear un cursor que se pueda usar en consultas
posteriores. En versiones anteriores de Visual FoxPro, era necesario
incluir una expresin o una constante adicional como un filtro para crear
un cursor utilizable en consultas posteriores. Por ejemplo, la adicin de
un valor lgico verdadero como una expresin de filtro creaba una
consulta que poda utilizarse en consultas posteriores:
SELECT *, .T. FROM customers INTO CURSOR myquery

Si se incluye NOFILTER, es posible que disminuya el rendimiento de la


consulta, puesto que se crea una tabla temporal en el disco. Cuando se
cierre el cursor se eliminar del disco la tabla temporal.
La clusula READWRITE especifica que el cursor es temporal y se
puede modificar.

DBF | TABLE TableName[DATABASE DatabaseName [NAME


LongTableName]] almacena los resultados de una consulta en una tabla.
Si especifica una tabla que ya est abierta y SET SAFETY est en OFF,
Visual FoxPro sobrescribir la tabla sin previo aviso. Si no ha
especificado ninguna extensin, Visual FoxPro asignar la extensin
.DBF a la tabla. La tabla permanecer abierta y activa despus de
ejecutar SELECT.
Incluya DATABASE DatabaseName para especificar una base de datos
a la que se agregar la tabla. Incluya NAME LongTableName para
especificar un nombre largo para la tabla. Los nombres largos pueden
contener un mximo de 128 caracteres y se pueden utilizar en lugar de
nombres de archivo cortos en la base de datos.

TO FILE FileName
Si incluye una clusula TO pero no una clusula INTO, puede dirigir el
resultado de la consulta a un archivo de texto ASCII llamado FileName, a la
impresora o a la ventana principal de Visual FoxPro.
ADDITIVE anexa los resultados de la consulta al contenido existente del
archivo de texto especificado en TO FILE FileName.
TO PRINTER [PROMPT] dirige los resultados de la consulta a una impresora.
Utilice la clusula PROMPT opcional para mostrar un cuadro de dilogo antes
de que empiece la impresin. En este cuadro de dilogo puede modificar la
configuracin de la impresora. Las opciones de configuracin de la impresora
que puede ajustar dependen del controlador de impresora que tenga instalado
actualmente. Coloque PROMPT justo despus de TO PRINTER.
TO SCREEN dirige los resultados de la consulta a la ventana principal de Visual
FoxPro o a una ventana activa definida por el usuario.
PREFERENCE PreferenceName
Si el resultado de una consulta se enva a una ventana Examinar, guarda los
atributos y opciones de la ventana Examinar para utilizarlos despus.
PREFERENCE guarda los atributos, o preferencias, por tiempo indefinido en el
archivo de recursos FOXUSER. Las preferencias se pueden recuperar en
cualquier momento.
Ejecutando SELECT con PREFERENCE PreferenceName por primera vez, se
crea la preferencia. Ejecutando posteriormente SELECT con el mismo nombre
de preferencia, se restaura la ventana Examinar con el mismo estado de
preferencia. Cuando se cierre la ventana Examinar, se actualiza la preferencia.
Si sale de una ventana Examinar presionando CTRL+Q+W, no se guardarn los
cambios de la ventana Examinar en el archivo de recursos.
NOCONSOLE
Impide que el resultado de la consulta se enve a un archivo, a la impresora o a la
ventana principal de Visual FoxPro.

PLAIN
Impide que aparezcan los encabezados de las columnas al mostrar los resultados
de la consulta. PLAIN puede utilizarse tanto si est presente una clusula TO
como si no. Si se incluye una clusula TO, se pasar por alto PLAIN.
NOWAIT
Contina la ejecucin del programa despus de abrir la ventana Examinar y de
dirigir a ella los resultados de la consulta. El programa no esperar a que la
ventana Examinar se cierre, sino que continuar con la ejecucin de la lnea de
programa inmediatamente siguiente a la instruccin SELECT.
Cuando se incluye TO SCREEN para dirigir los resultados hacia la ventana
principal de Visual FoxPro o una ventana definida por el usuario, los resultados
se detienen cuando la ventana principal de Visual FoxPro o la ventana definida
por el usuario se llena con resultados de la consulta. Presione una tecla para ver
el siguiente conjunto de resultados de la consulta. Si se incluye NOWAIT, los
resultados de la consulta se desplazarn fuera de la ventana principal de Visual
FoxPro o de la ventana definida por el usuario sin esperar a que se presione una
tecla. NOWAIT se pasa por alto si se incluye con la clusula INTO.
WHERE
Especifica que Visual FoxPro slo debe incluir en los resultados de la consulta
los registros que satisfagan los criterios especificados.
JoinCondition
Especifica los campos que vinculan las tablas en la clusula FROM. Si incluye
ms de una tabla en una consulta, deber especificar una condicin de
combinacin para cada tabla despus de la primera.
Las condiciones de combinacin mltiples deben conectarse mediante el
operador AND. Cada condicin de combinacin tiene la forma siguiente:
FieldName1 Comparison FieldName2
FieldName1 es el nombre de un campo de una tabla, FieldName2 es el nombre
de un campo de otra tabla y Comparison es uno de los operadores siguientes:
Operador
Comparacin
=
Igual
==
Exactamente igual
LIKE
SQL LIKE
<>, !=, # Distinto de
>
Mayor que
>=
Mayor o igual que
<
Menor que
<=
Menor o igual que
Cuando utiliza el operador = con cadenas, acta de forma distinta dependiendo
del ajuste de SET ANSI. Cuando SET ANSI est desactivado, Visual FoxPro
trata las comparaciones de cadenas en la forma habitual en Xbase. Cuando SET

ANSI est activado, Visual FoxPro sigue las normas ANSI para las
comparaciones de cadenas. Vea SET ANSI y SET EXACT para obtener
informacin adicional acerca de cmo realiza Visual FoxPro las comparaciones
de cadenas.
La clusula WHERE admite el operador ESCAPE para la JoinCondition, lo que
le permite realizar consultas significativas sobre datos que contengan caracteres
comodn _ y % de SELECT - SQL.
La clusula ESCAPE le permite especificar que se traten los caracteres comodn
de SELECT - SQL como si fueran caracteres literales. En la clusula ESCAPE
se especifica un carcter, que si se coloca inmediatamente antes del carcter
comodn, indica que se tratar al carcter comodn como a un carcter literal.
FilterCondition
Especifica los criterios que deben satisfacer los registros para ser incluidos en
los resultados de la consulta. Una consulta puede incluir tantas condiciones de
filtro como desee, conectadas con el operador AND y OR. Tambin puede
utilizar el operador NOT para invertir el valor de una expresin lgica o utilizar
EMPTY( ) para comprobar si hay campos vacos.
FilterCondition puede adoptar cualquier de las formas de los siguientes ejemplos:

Você também pode gostar