Ejemplos de SELECT - SQL (Comando) Los siguientes ejemplos ilustran la utilización de las funciones definidas por el usuario con SELECT - SQL: Ejemplo 1 En el Ejemplo 1 se muestran los nombres de todas las compañías en customer (un campo de una tabla). CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT customer.company ; FROM customer Ejemplo 2 El ejemplo 2 muestra el contenido de tres campos de dos tablas y combina las dos tablas basándose en el campo clie_id. Utiliza alias locales para ambas tablas. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT a.company, b.order_date, b.shipped_on ; FROM customer a, orders b ; WHERE a.cust_id = b.cust_id Ejemplo 3 El ejemplo 3 muestra únicamente registros con datos únicos en los campos especificados. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT DISTINCT a.company, b.order_date, b.shipped_on ; FROM customer a, orders b ; WHERE a.cust_id = b.cust_id Ejemplo 4 El ejemplo 4 muestra los campos country, postalcode y company en orden ascendente. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + ‘data\testdata’) SELECT country, postalcode, company ; FROM customer ; ORDER BY country, postalcode, company Ejemplo 5 El ejemplo 5 almacena el contenido de los campos de dos tablas en una tercera tabla. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT a.company, b.order_date, b.shipped_on ; FROM customer a, orders b ; WHERE a.cust_id = b.cust_id ; INTO TABLE custship.dbf BROWSE Ejemplo 6 El ejemplo 6 muestra únicamente los registros con una fecha de factura anterior al 02/16/1994. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT a.company, b.order_date, b.shipped_on ; FROM customer a, orders b ; WHERE a.cust_id = b.cust_id ; AND b.order_date < {^1994-02-16} Ejemplo 7 El ejemplo 7 muestra los nombres de todas las empresas de customer con un código postal que coincida con el código postal de la tabla orders. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT company FROM customer a WHERE ; EXISTS (SELECT * FROM orders b WHERE a.postalcode = b.postalcode) Ejemplo 8 El ejemplo 8 muestra todos los registros de customer que tengan un nombre de empresa que comience por una C mayúscula y tenga cualquier longitud. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer a WHERE a.company LIKE "C%" Ejemplo 9 El ejemplo 9 muestra todos los registros de customer que tengan un nombre de país que comience por U mayúscula seguido de un carácter desconocido. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer a WHERE a.country LIKE "U_" Ejemplo 10 El ejemplo 10 muestra los nombres de todas las ciudades de customer en mayúsculas y llama CityList a la columna de los resultados. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT UPPER(city) AS CityList FROM customer Ejemplo 11 En el Ejemplo 11 demuestra cómo se puede realizar una consulta de datos que contenga signos de porcentaje (%). Se colocará una barra inversa (\) antes del signo de porcentaje para indicar que tendría que ser tratado como un literal, y la barra inversa se especifica como el carácter de escape en la cláusula ESCAPE. Dado que las tablas de ejemplo incluidas con Visual FoxPro no contienen el carácter de signo de porcentaje, esta consulta no devolverá ningún resultado. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer; WHERE company LIKE "%\%%" ESCAPE "\" Ejemplo 12 En el Ejemplo 12 se demuestra cómo se puede realizar una consulta de datos que contenga signos de subrayado (_). Se colocará una barra inversa (\) antes del signo de subrayado para indicar que debería ser tratado como un literal, y se especificará la barra inversa como el carácter de escape en la cláusula ESCAPE. Dado que las tablas de ejemplo incluidas con Visual FoxPro no contienen el carácter de subrayado, esta consulta no devolverá ningún resultado. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer; WHERE company LIKE "%\_%" ESCAPE "\" Ejemplo 13 En el ejemplo 13, el carácter Escape se utiliza a sí mismo como un literal. El guión es tanto el carácter escape como un literal. La consulta devuelve todas las filas en las que el nombre de la compañía contiene un signo de porcentaje seguido de un guión. Dado que las tablas de ejemplo proporcionadas con Visual FoxPro no contienen el carácter del signo de porcentaje, esta consulta no devolverá ningún resultado. CLOSE ALL CLOSE DATABASES OPEN DATABASE (HOME(2) + 'data\testdata') SELECT * FROM customer; WHERE company LIKE "%-%--%" Escape "-"