Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/04/2003, 13:43
Avatar de wScorpion
wScorpion
 
Fecha de Ingreso: abril-2003
Ubicación: En Chilito lindo !!!
Mensajes: 9
Antigüedad: 22 años
Puntos: 0
En realidad no es tan fácil de explicar, pero trataré (puedes encontrar toneladas de manuales sobre SQL en la red).
Veamos, para empezar hay que decir que las tablas desde las cuales vas a obtener los datos tienen que estar relacionadas entre si a traves de un atributo o campo, por ejemplo, supón que tenemos las tablas PERSONA y DIRECCION, en donde se almacenan las personas de una empresa y sus direcciones (padrian ser varias direcciones por persona) respectivamente. El atributo en común, y que "relaciona" ambas tablas, podría ser el CODIGO de la persona, luego, por ejemplo:
1.- Para obtener las direcciones de la persona cuyo codigo es el 123311 seria:
SELECT P.CODIGO, P.NOMBRE, P.APELLIDOS, D.CALLE, D.NRO, D.CIUDAD
FROM PERSONA P, DIRECCION D
WHERE P.CODIGO = D.CODIGO ' OJO esto estaria muy mal: WHERE CODIGO = CODIGO (*)
AND P.CODIGO = 123311 'Podria haber sido tambien D.CODIGO = 123311

Donde CODIGO, NOMBRE, APELLIDOS son atributos de la tabla PERSONA y CALLE, NRO, CIUDAD son atributos de la tabla DIRECCION.
(*) Un aspecto interesante son las letras P y D (que bien podrían haber sido X,Y o J,K o what ever) que estan al lado del nombre de las tablas, estos son "Alias" para las tablas y se crean porque es necesario igualar el atributo CODIGO de ambas tablas pero como se llama igual en ambas partes tenemos que poder identificarlo a cual de las dos se refiere.

2.- Para obtener las direcciones de la persona cuyo NOMBRE es 'JUAN':
SELECT P.CODIGO, P.NOMBRE, P.APELLIDOS, D.CALLE, D.NRO, D.CIUDAD
FROM PERSONA P, DIRECCION D
WHERE P.CODIGO = D.CODIGO
AND NOMBRE = 'JUAN' 'Tambien estaría correcto: AND P.NOMBRE = 'JUAN'

Si te das cuenta en: AND NOMBRE = 'JUAN' no fue necesario poner P.NOMBRE, porque el atributo NOMBRE solo pertenece a la tabla PERSONA.

En fin, como te decia, hay un monto de informacion en la RED sobre SQL para que sigas investigando.

Es importante que sepas que la sintaxis de las instrucciones SQL difiere según sea la base de datos que se utilice, para los ejemplos me base en un motor SQLServer (que es muy parecido a SYBASE).

Espero haber ayudado aunque sea a sembrar la inquietud.
SUERTE