Union, interseccion, insertar, actualizar y eliminar usando consultas en MYSQL

Páginas: 5 (1199 palabras) Publicado: 1 de septiembre de 2013
Unión, Intersección y Disyunción en MySql
UNIÓN EN MYSQL
Se trata de un operador binario. Una unión es una suma. Ya sabemos que para poder sumar, los operandos deben ser del mismo tipo (no podemos sumar dos operandos diferentes), es decir, las relaciones a unir deben tener el mismo número de atributos, y además deben ser de dominios compatibles. El grado de la relación resultante es el mismoque el de las relaciones a unir, y la cardinalidad es la suma de las cardinalidades de las relaciones.
La sintaxis es la siguiente:
SELECT ...UNION [ALL | DISTINCT] SELECT ... [UNION [ALL | DISTINCT] SELECT ...]
Unión
Por ejemplo, tengamos estas tablas:
tabla1 (id, nombre, apellido)
tabla2 (id, nombre, apellido)
tabla1
Id nombre apellido
15 Fernandio Garcidia
34Augustido Lipoez
12 Julianino Sianchiez
43 Carlanios Pierez

tabla2
id nombre apellido
44 Rosinia Ortiegaz
63 Anania Pulpez
55 Inesiana Diominguez
La unión de ambas tablas es posible, ya que tienen el mismo número y tipo de atributos y quedaría de la siguiente manera:
tabla1 Union tabla2
Id nombre apellido
15 Fernandio Garcidia34 Augustido Lipoez
12 Julianino Sianchiez
43 Carlanios Pierez
44 Rosinia Ortiegaz
63 Anania Pulpez
55 Inesiana Diominguez
Los comandos select son comandos select normales, pero con las siguientes restricciones:
Sólo el último comando SELECT puede usar INTO OUTFILE.
HIGH_PRIORITY no puede usarse con comandos SELECT que sean parte de una UNION. Silo específica para el primer SELECT, no tiene efecto. Si lo específica para cualquier SELECT posterior, aparece un error de sintaxis.
Si no se usa la palabra clave ALL para una UNION, todos los registros retornados son únicos, como si hubiera hecho un DISTINCT para el conjunto de resultados total. Si especifica ALL, obtiene todos los registros coincidentes de todos los comandos SELECT usados.La palabra clave DISTINCT es una palabra opcional que no tiene efecto, pero se permite en la sintaxis como requiere el estándar SQL. (En MySql, DISTINCT representa el comportamiento por defecto de una unión.)
Si quiere usar una cláusula ORDER BY o LIMIT para ordenar o limitar el resultado UNION entero, ponga entre paréntesis los comandos SELECT individuales y ponga el ORDER BY o LIMIT tras elúltimo. El siguiente ejemplo usa ambas cláusulas:
(SELECT a FROM nomb_tabl WHERE a=10 AND B=1)
UNION
(SELECT a FROM nomb_tabl WHERE a=11 AND B=2)
ORDER BY a LIMIT 10;
Este tipo de ORDER BY no puede usar referencias de columnas que incluyan un nombre de columna (esto es, nombres en formato nomb_tabl.col_name). En su lugar, proporcione un alias de columna al primer comando SELECT y refiérase alalias en el ORDER BY, o a la columna en el ORDER BY usando su posición de columna. (Un alias es preferible porque el uso de la posición de la columna está obsoleto.)
Para aplicar ORDER BY o LIMIT a un SELECT individual, ponga la cláusula dentro de los paréntesis alrededor del SELECT:
(SELECT a FROM nomb_tabl WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM nomb_tabl WHERE a=11 ANDB=2 ORDER BY a LIMIT 10);
Los ORDER BY para comandos SELECT individuales entre paréntesis tienen efecto sólo al combinarlos con LIMIT. De otro modo, el ORDER BY se optimiza aparte.



INTERSECCIÓN EN MYSQL
El operador de intersección también es binario. Para que dos relaciones se puedan interseccionar deben cumplir las mismas condiciones que para que se puedan unir. El resultado es unarelación que contendrá sólo las tuplas presentes en ambas relaciones.
Una intersección no es más que una combinación interna donde se comparan las tuplas de una tabla con los de la otra, y se seleccionan los que aparecen en ambos.
SELECT member_id, name FROM a
INTERSECT
SELECT member_id, name FROM b
can simply be rewritten to simplemente puede ser reescrito para
SELECT a.member_id, a.name...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • INSERTAR, MODIFICAR, ELIMINAR Y CONSULTAR REGISTROS EN MYSQL DESDE C#
  • Unión e intersección
  • Consultas Mysql
  • Consultas en mysql
  • consultas mysql
  • consultas en MySql
  • Trigger insertar mysql
  • Insertar y Eliminar Nodos De Una Lista

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS