Comandos Para Msql

Páginas: 11 (2658 palabras) Publicado: 11 de junio de 2012
Todas las explicaciones que están a continuación utilizan las siguientes dos tablas para ilustrar el efecto de diferentes clases de uniones JOIN.
Tabla Empleado |
Apellido | IDDepartamento |
Andrade | 31 |
Jordán | 33 |
Steinberg | 33 |
Róbinson | 34 |
Zolano | 34 |
Gaspar | 36 |
Tabla Departamento |
NombreDepartamento | IDDepartamento |
Ventas | 31 |
Ingeniería | 33 |Producción | 34 |
Mercadeo | 35 |

La tabla Empleado contiene los apellidos de los empleados junto al número del departamento al que pertenecen, mientras que la tabla Departamento contiene el nombre de los departamentos de la empresa.
Existen empleados que tienen asignado un número de departamento que no se encuentra en la tabla Departamento (Gaspar). Igualmente, existen departamentos a loscuales no pertenece ningún empleado (Mercadeo). Esto servirá para presentar algunos ejemplos más adelante.
Combinación interna (INNER JOIN)
Con esta operación se calcula el producto cruzado de todos los registros; así cada registro en la tabla A es combinado con cada registro de la tabla B; pero sólo permanecen aquellos registros en la tabla combinada que satisfacen las condiciones que seespecifiquen. Este es el tipo de JOIN más utilizado por lo que es considerado el tipo de combinación predeterminado.
SQL:2003 especifica dos formas diferentes para expresar estas combinaciones. La primera, conocida como explícita usa la palabra JOIN, mientras que la segunda es implícita y usa ',' para separar las tablas a combinar en la sentencia FROM de la declaración SELECT. Entonces siempre se generael producto cruzado del cual se seleccionan las combinaciones que cumplan lo que indica la sentencia WHERE.
Es necesario tener especial cuidado cuando se combinan columnas con valores nulos NULL ya que el valor nulo no se combina con otro valor o con otro nulo, excepto cuando se le agregan predicados tales como IS NULL o IS NOT NULL.
Como ejemplo, la siguiente consulta toma todos los registrosde la tabla Empleado y encuentra todas las combinaciones en la tabla Departamento. La sentencia JOIN compara los valores en la columna IDDepartamento en ambas tablas. Cuando no existe esta correspondencia entre algunas combinaciones, éstas no se muestran; es decir que si el número de departamento de un empleado no coincide con los números de departamento de la tabla Departamento, no se mostrará elempleado con su respectivo departamento en la tabla resultante.
Las dos consultas siguientes son similares, y se realizan de manera explicita (A) e implícita (B).
A. Ejemplo de la sentencia INNER JOIN explícita:
SELECT *
FROM empleado
INNER JOIN departamento
ON empleado.IDDepartamento = departamento.IDDepartamento
B. Ejemplo de la sentencia INNER JOIN implícita:
SELECT *FROM empleado, departamento
WHERE empleado.IDDepartamento = departamento.IDDepartamento
Resultados:
Empleado.Apellido | Empleado.IDdepartamento | departamento.NombreDepartamento | departamento.IDDepartamento |
Zolano | 34 | Producción | 34 |
Jordán | 33 | Ingeniería | 33 |
Róbinson | 34 | Producción | 34 |
Steinberg | 33 | Ingeniería | 33 |
Andrade | 31 | Ventas | 31 |
Elempleado Gaspar y el departamento de Mercadeo no son presentados en los resultados ya que ninguno de éstos tiene registros correspondientes en la otra tabla. No existe un departamento con número 36 ni existe un empleado con número de departamento 35.
A la combinación que utiliza comparaciones dentro del predicado JOIN se le llama theta-join.
C. Ejemplo de combinación tipo theta:
SELECT *
FROMempleado
INNER JOIN departamento
ON empleado.IDDepartamento < departamento.IDDepartamento

Las operaciones INNER JOIN puede ser clasificadas como de equivalencia, naturales, y cruzadas.
De equivalencia (equi-join)
Es una especie de theta-join que usa comparaciones de igualdad en el predicado JOIN. Cuando se usan operadores, tales como < o > no se puede clasificar en...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • comandos para la caja de comandos minecraft
  • Comandos para servidores irc
  • Lista de comandos para Linux
  • Comandos para linux
  • Comandos para la PC
  • Comandos Para Vlanyvtp
  • comandos para apagar pc
  • filosofia de para comandantes militares

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS