http://www.abcdatos.com/tutoriales/tutorial/l6677.html
http://www.emagister.com/select-sql-aplicado-visual-fox-pro-6-0-cursos-658776.htm
SELECT - SQL usando dos o mas tablas:
Sintaxis :
SELECT alias1.campo1
,alias2.campo2
,alias3.campo3
FROM tabla1 alias1
,tabla2 alias2
,tabla3 alias3
WHERE alias1.campo1 = alias2.campo2
alias1.campo2 = alias2.campo3
Ejemplo :
Un ejemplo sencillo: si queremos listar el nombre del empleado, el id del departamento, y el nombre del departamento al que pertenece el empleado la query (consulta) sería:
SELECT A.nombre AS empleado
,A.dept_id
,B.nombre AS depto
FROM s_emp A
,s_dept B
WHERE A.id = B.region_id
Ejercicios :
Seleccionar el No. depto, apellido, salario y cargo para los empleados que ganen mas de 100 y el departamento este en 41, 10 y 50
select dept_id
,nombre
,salario
,cargo
from s_emp
where salario > 100
and dept_id IN (41,10,50)
seleccionar el apellido, del empleado, id del depto, y el nombre del depto.
select a.nombre AS empleado
,b.id,b.nombre AS deptofrom s_emp a,s_dept b where a.id = b.dept_id
Seleccionar el apellido del empleado, no del depto, el nombre deldepto para los depto que esten entre 20 y 50 sin incluirlos.
select a.nombre AS empleado,
b.id,b.nombre AS depto from s_emp a, s_dept b where a.id = b.dept_id and b.id > 20 and b.id < 50
seleccionar el nombre del empleado no. del depto, nombre del depto, para los deptos que comiencen con 4 y ordenados el numero de depto y nombre del empleado desc
select a.nombre AS empleado,
b.id,b.nombre AS depto from s_emp a, s_dept b where a.id=b.dept_id and ALLTRIM(STR(b.id)) like '4%' order by a.nombre asc, b.id
Seleccionar el nombre del cliente para aquellos empleados que el no del depto sean 30, 40, 41, 42 y el ( salario sea mayor que 1000 o el depto sea 50 )
select a.nombre AS cliente,b.nombre AS empleado,b.salario,b.id,b.dept_id from s_customer a, s_emp b where a.emp_id=b.id and b.dept_id IN (30,40,41,42)
and (b.salario > 1000 or b.dept_id='50')