Manual de SQL
Manual de SQL
Manual de SQL
Manual de SQL
«Structured Query Language»
sql
El Lenguaje de consulta estructurado (Structured Query Language) es un lenguaje
declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de
operaciones sobre las mismas.
Una de sus características es el manejo del álgebra y el cálculo relacional permitiendo
lanzar consultas con el fin de recuperar -de una forma sencilla- información de interés de una
base de datos, así como también hacer cambios sobre la misma.
Sintaxis
1. Para Consultar Registros | SELECT
Ejemplo:
SELECT * FROM alumnos WHERE alu_edad>18 and alu_ciudad=1 INTO CURSOR TEMP
Selecciona todos los campos (*) de los registros la tabla alumnos que cumplan las
condiciones: edad sea mayor que 18 y la ciudad de residencia sea 1. El resultado de la
consulta se guarda en una tabla temporal (cursor) llamado TEMP.
Ejemplo:
Inserta un nuevo registro en la tabla de ciudades, en donde en valor del campo ciu_codigo
es 1 y el valor del campo ciu_nombre es “Ciudad del Este”.
Ejemplo:
Ejemplo:
UPDATE alumnos
SET alu_carrera=1, alu_inscripto=”si”
WHERE alu_carrera=4 and alu_fecha_inscri>={15/03/2009}
Modifica los campos alu_carrera y alu_inscripto de los registros cuyos campos alu_carrera
es igual a 4 y alu_fecha_inscri es mayor o igual al 15/03/2009.
Ejemplos prácticos
A fin de una mejor compresión de los ejemplos, se describen a continuación la estructura de
las tablas utilizadas así como los datos que contienen cada una de ellas y finalmente las
consultas de ejemplo con sus respectivos resultados si correspondiere.
b) CATEGORIAS
c) CLIENTES
d) CTA_COBRAR
b) CATEGORIAS
CÓDIGO DESCRIPCIÓN
1 Herramientas
2 Piezas y Repuestos
3 Agro Químicos
4 Semillas
5 Máquinas Usadas
c) CLIENTES
d) CTA_COBRAR
Actividades
a. Construir una consulta SQL para obtener los siguientes datos:
- Código de producto
- Descripción del producto
- Descripción de la categoría del producto
b. Construir una consulta SQL para obtener el valor de las mercaderías en stock:
Para obtener el valor de las mercaderías en stock se hace una simple operación matemática
(multiplicación) entre el precio unitario (pro_precio) y el stock existente (pro_stock).
Además, se utiliza la palabra reservada AS para renombrar la columna o campo.
c. Construir una consulta SQL para obtener un listado con los códigos, nombres y límites de
crédito de los clientes:
d. Construir una consulta SQL para obtener un listado de clientes morosos conteniendo el
código, el nombre, el vencimiento y el monto. Considerar fecha actual como 01/05/2009.
e. Construir una consulta SQL para obtener un listado de clientes con sus respectivas
sumatorias de cuentas por pagar.
Para utilizar las funciones de sumatoria y similares, se debe utilizar la clausula Group By, en
el cual deben constar todos los campos incluidos en Select, teniendo en cuenta que el
campo por el cual se realizará el corte o grupo debe estar en primer lugar desde la
izquierda.
Es imprescindible incluir todos los campos, ya que de otra forma la consulta arrojará un
error. En este aspecto la sintaxis SQL de Visual FoxPro se contradice al estándar SQL, ya
que en dicho estándar no es necesario incluir todos los campos, sino únicamente el campo
por el cual se realizará el agrupamiento.
f. Construir una consulta SQL para obtener un listado de las cuentas que se encuentran
vencidas, incluir el número de cuenta, el nombre del cliente, el monto, y el interés.
Considerar la fecha actual como 01/05/2009.
FUNCTION CALC_INTER
PARAMETERS monto, venci, _inte
dias = venci-DATE()
const = ((_inte/30)*dias)/100
inter_ = monto*const
RETURN INT(inter_)
ENDFUNC
g. Construir una consulta SQL para insertar un producto con los siguientes datos:
- Codigo: 6
- Descripcion: Nuevo Producto
- Categoria: 3
- Precio: 5000
- Stock: 15
h. Construir una consulta SQL para modificar el producto que posee el código 6, cambiar la
descripción a “Otra descripcion”, la categoría a 2, el precio a 15.700 y el stock a 254.
Es importante observar que antes de utilizar PACK se debe seleccionar la tabla física con
SELECT, ya que generalmente tendremos seleccionado algún cursor con el que estuvimos
trabajando previamente dentro del programa. Al intentar ejecutar PACK con un cursor,
visual foxpro arrojará un error.