SOLEJE3MSQLMDtemp.pdf

26
1 EJERCICIOS RESUELTOS Y COMENTADOS PARA EL APRENDIZAJE DE LA INSTRUCCIÓN SELECT 1. Cono cien do la base de dat os...... ............................................................................... 3 1.1. Conexión con la línea de co mando....................... ............................................ 3 1.2. Conexión con el Administrador................. ....................................................... 3 1.3. MySQL Migra tion Toolkit............................................................................... 4 1.4. Sent encia USE. ................................................................................................. 5 1.5. Sent encia SHOW TABLES.............................................................................. 5 1.6. Sentencia DESCRIBE. ..................................................................................... 5 1.7. Tipos de dato s................................................................................................... 7 2. Sent enci a SELE CT ................................................................................................... 7 2.1. Cláusula WHERE. .......................................................................................... 11 2.2. Cláusula ORDER BY. .................................................................................... 14 2.3. Cláusula LIMIT. ............................................................................................. 16 2.4. Ejecución de un script en la línea de comando............................................... 17 2.5. Otros problemas resueltos . ............................................................................. 17 3. SELECT (como cal cula dora) ................................................................................. 22 3.1. Otros prob lemas resueltos . ............................................................................. 25 4. Funciones de agregad os.......................................................................................... 30 4.1. SUM() ............................................................................................................. 30 4.2. COUNT(*).... .................................................................................................. 30 4.3. MAX() ............................................................................................................ 31 4.4. MIN() .............................................................................................................. 31 4.5. AVG( )......... .................................................................................................... 32 5. Subconsultas........................................................................................................... 32 5.1. Probl ema s resu elto s........................................................................................ 32 6. Agrupación de datos. .............................................................................................. 35 6.1. Cláusula GROUP BY. .................................................................................... 35 6.2. Cláusula HAVING. ........................................................................................ 36 6.3. Probl ema s resu elto s ........................................................................................ 37 7. Vinc ulac ione s entre tabla s...................................................................................... 42 7.1. Cláusula ON. .................................................................................................. 42 7.2. Búsqueda de texto........................................................................................... 52 7.3. Unión de dos tablas de resultados . ................................................................ 55 7.4. Subc ons ultas Esca lares ................................................................................... 57 7.4.1. IN y NOT IN .......................................................................................... 58 7.4.2. ALL y ANY............................................................................................ 59 7.5. Subc ons ultas relac iona das. ............................................................................. 59 7.5.1. EXI STS y NOT EXISTS........................................................................ 60 8. Salid a a Excel. ........................................................................................................ 67 9. El f unci onamiento de SELECT. ............................................................................. 69 10. Glosario.............................................................................................................. 69

Transcript of SOLEJE3MSQLMDtemp.pdf

  • 1EJERCICIOS RESUELTOS Y COMENTADOS PARA EL APRENDIZAJE DELA INSTRUCCIN SELECT

    1. Conociendo la base de datos..................................................................................... 31.1. Conexin con la lnea de comando................................................................... 31.2. Conexin con el Administrador........................................................................ 31.3. MySQL Migration Toolkit. .............................................................................. 41.4. Sentencia USE. ................................................................................................. 51.5. Sentencia SHOW TABLES.............................................................................. 51.6. Sentencia DESCRIBE. ..................................................................................... 51.7. Tipos de datos................................................................................................... 7

    2. Sentencia SELECT................................................................................................... 72.1. Clusula WHERE. .......................................................................................... 112.2. Clusula ORDER BY. .................................................................................... 142.3. Clusula LIMIT. ............................................................................................. 162.4. Ejecucin de un script en la lnea de comando............................................... 172.5. Otros problemas resueltos. ............................................................................. 17

    3. SELECT (como calculadora) ................................................................................. 223.1. Otros problemas resueltos. ............................................................................. 25

    4. Funciones de agregados.......................................................................................... 304.1. SUM()............................................................................................................. 304.2. COUNT(*)...................................................................................................... 304.3. MAX(). ........................................................................................................... 314.4. MIN().............................................................................................................. 314.5. AVG()............................................................................................................. 32

    5. Subconsultas. .......................................................................................................... 325.1. Problemas resueltos. ....................................................................................... 32

    6. Agrupacin de datos. .............................................................................................. 356.1. Clusula GROUP BY. .................................................................................... 356.2. Clusula HAVING. ........................................................................................ 366.3. Problemas resueltos ........................................................................................ 37

    7. Vinculaciones entre tablas. ..................................................................................... 427.1. Clusula ON. .................................................................................................. 427.2. Bsqueda de texto........................................................................................... 527.3. Unin de dos tablas de resultados . ................................................................ 557.4. Subconsultas Escalares ................................................................................... 57

    7.4.1. IN y NOT IN .......................................................................................... 587.4.2. ALL y ANY............................................................................................ 59

    7.5. Subconsultas relacionadas. ............................................................................. 597.5.1. EXISTS y NOT EXISTS........................................................................ 60

    8. Salida a Excel. ........................................................................................................ 679. El funcionamiento de SELECT. ............................................................................. 6910. Glosario. ............................................................................................................. 69

  • 2

  • 1. Conociendo la base de datos.

    En primer lugar, antes de empezar a estudiar la instruccin SELECT exploraremos labase de datos.

    Podemos trabajar de dos formas:

    1) Con el cliente mysql a travs de la lnea de comando.2) O con la herramienta MySQL Query Browser.

    1.1.Conexin con la lnea de comando.

    Si ejecutamos desde Programa/MySQL/MySQL Server 5.0/MySQL Command LineClient aparecer

    Y despus de introducir el password

    1.2.Conexin con el Administrador.

    Si ejecutamos desde Programa/MySQL/MySQL Administrador aparecer

  • Si nos identificamos y hacemos OK aparecer

    Desde la opcin Tools/MySQL Command Line podemos ir a la lnea de comando.Tambin, desde dicha opcin, podemos ir a la utilidad MySQL Query Browser,desde donde podemos seguir todo el ejercicio sin mas que ejecutar la sentencias unaa una, con la ventaja de disponer de una interfaz ms amigable. En estos apuntesutilizaremos la Lnea de Comando para no hacer tan extenso los propios apuntes.

    1.3.MySQL Migration Toolkit.

  • 51.4.Sentencia USE.

    Para acceder a la base de datos utilizamos la sentencia USE.

    Recibimos un mensaje "Database changed" (base de datos cambiada). Una base dedatos est formada como ya sabemos por tablas.

    1.5.Sentencia SHOW TABLES.

    Para ver qu tablas tenemos escribimos la sentencia SHOW TABLES.

    Para ver qu contiene la tabla sucursales, o seleccionar todas sus filas escribimosnuestra primera instruccin SELECT :

    Esta tabla est formada por dos columnas: Id y Descripcion. Los nombres de columnastampoco pueden llevar tildes. Debajo de los nombres estn los valores. Tenemos unafila, por ejemplo, donde Id vale 2 y Descripcion es "Unin". Para averiguar ms sobreesta tabla escribimos:

    1.6. Sentencia DESCRIBE.

  • 6La instruccin "DESCRIBE sucursales" describe la definicin de la estructura delatabla.

    El varchar(15) que se encuentra en la 3 fila, 2columna significa que la columnaDescripcion puede tener un nmero variable de caracteres, hasta 15. Anlogamente elint(10) que se encuentra en la 2 fila, 2 columna indica que Id es un nmero entero.

    La palabra PRI que se encuentra en la 2fila, 4 columna significa que Id caracteriza demanera nica una fila. Es decir, cada fila de sucursales va a tener un nmero que va aestar en la columna Id. Diferentes filas tendrn diferentes nmeros. De manera que unvalor de Id, si est en la tabla, determina una fila. PRI es una abreviatura de PRIMARYKEY , clave primaria. Esta es una expresin usada en computacin para indicar unacolumna que se usa para identificar las filas.

    An podramos tener mas informacin de la tabla si ejecutamos la sentencia:

    Se sugiere al alumnado que explore, usando SELECT * FROM ... y DESCRIBE ...,sobre las diversas tablas de la base de datos empresa.

  • 71.7.Tipos de datos

    En una tabla cada columna es de un tipo de datos. Para nuestros fines hay 3 grandestipos de datos: numricos, cadenas de caracteres y fechas.

    Los datos numricos pueden ser enteros (int) o decimales (decimal). Los decimalestienen una parte entera y una fraccionaria. Por ejemplo, un decimal puede valer 120.40.

    Las cadenas de caracteres (varchar) representan texto, generalmente con un largovariable, hasta un mximo dado. Pueden contener letras, nmeros y otros caracterescomo etc.

    Ya vimos un ejemplo con la columna Descripcion de la tabla sucursales. Las columnasde tipo fecha tienen, en su descripcin, la palabra "date". Cualquier columna puede, enprincipio, tomar el valor NULL, que representa un valor desconocido o inexistente. Sinembargo, cuando se crearon las tablas el administrador de la base de datos normalmenteespecific que la mayora de las columnas no pueden tomar valores NULL. Las que spueden aparecen con la palabra YES en la columna NULL de la tabla que se obtienehaciendo "DESCRIBE nombre_de_tabla" . Vemos que por ejemplo en la tablaSucursales la base de datos no aceptar un valor NULL ni en Id ni en Descripcin.

    2. Sentencia SELECT

    Para extraer informacin de una base de datos, utilizamos una consulta a travs de unainstruccin SELECT.

    Para presentar los valores de una columna determinada de una tabla, usamos

    SELECT Nombre_de_columna FROM Nombre_de_tabla;

    Ejemplo :

    Para seleccionar ms de una columna,

    SELECT Nombre_de_columna_1, Nombre_de_columna_2,... FROMNombre_de_tabla;

  • 8Ejemplo:

    Para seleccionar todas las columnas de una tabla,

    SELECT * FROM Nombre_de_tabla;

    Ejemplo:

    Obsrvese que los clientes, vendedores, artculos y sucursales son identificados por suId. El importe representa el total de la venta, no el precio unitario. Tambin se puedenhacer clculos con una columna numrica.

    Ejemplos:

  • 9Tal como puede verse la expresin 0.10*importe constituye lo que se denomina uncampo calculado que se obtiene a partir de un campo/columna de la tabla.

    Se pueden agregar a la salida columnas constantes o calculadas, que no tienen o (notienen) relacin con las tablas.

    Ejemplo:

    En general es deseable no tener ttulos de columna complicados como "0.10*Importe".Para esos casos se usa la instruccin AS (que significa, entre otras cosas, "como").

    Ejemplo:

  • 10

    Se puede solicitar que no haya repeticiones en las filas seleccionadas. Basta agregarDISTINCT despus del SELECT.

    Ejemplo:

    Los resultados de clculos, si no se toma alguna medida al respecto, a veces salen condemasiados decimales. En esos casos, conviene usar la funcin ROUND. Esta funcinredondea los nmeros a la cantidad deseada de decimales despus del punto. Porejemplo, ROUND(2.343,2) produce el resultado 2.34. Anlogamente ROUND(2.347,2)produce 2.35, y ROUND(2.245,2) produce 2.34. Para redondear a un entero alcanza conescribir ROUND(nmero). Por ejemplo, ROUND(2.345) produce 2.

    Ejemplo:

  • 11

    En el ltimo punto hemos visto por primera vez una funcin. Una funcin consta de unnombre, seguido de parntesis, entre los cuales segn los casos puede no haber nada, ohaber una o ms variables. La funcin realiza ciertos clculos con los valores de dichasvariables, y genera otra cantidad, llamada el valor de la funcin. Una consideracinprctica es que no se pueden dejar espacios entre el nombre de la funcin y el primerparntesis despus del mismo. Siempre escribiremos parntesis despus del nombre deuna funcin.

    2.1.Clusula WHERE.

    Esta clusula sirve para seleccionar filas, dentro de las columnas seleccionadas.WHERE significa "donde". Se pueden seleccionar filas donde una columna tiene unvalor determinado.

    Ejemplo:

    Vemos que de entre todos los clientes hemos obtenido solamente aqul registro para elque el identificador id es igual a uno.

    Se puede seleccionar filas donde una columna tiene un valor mayor (o menor) que unodado.

    Ejemplo:

  • 12

    Las igualdades y desigualdades tambin se aplican a cadenas de caracteres. Una cadenaes menor que otra cuando es previa en orden alfabtico. Por ejemplo "azzl" < "baa" . Nose distingue entre maysculas y minsculas (aunque, si se lo desea, es posibleconfigurar el servidor MySQL para que s distinga). Es decir, "A" < "b" < "c" < "D" y"a"="A".

    Ejemplo:

    Este SELECT listar los clientes con nombre empezando en una letra anterior a "i" en elalfabeto.

    Tambin se aplican a fechas la igualdad y desigualdad. Para referirse a una fecha, se leescribe como "Ao con 4 cifras-Mes-Da". Por ejemplo, "2004-12-20" indica el 20 deDiciembre de 2004.

    Ejemplo:

  • 13

    Para determinar si un dato es NULL se usa la condicin Para saber si no es

    Ejemplo:

    No debe usarse NULL. Produce resultados equivocados, en su lugar habra que usarIS NOT NULL.

    Llamamos condiciones simples a las siguientes

    Expresin Significadoa = b a es igual a ba = b a es igual a ba b a es distinto de ba < b a es menor que ba > b a es mayor que ba = b a es mayor o igual a ba IS NULL a es NULLa IS NOT NULL a no es NULL

    Las cantidades a y b pueden ser nmeros, cadenas de caracteres o fechas, en todos loscasos. En una clusula WHERE se puede usar cualquier condicin simple. La clusulaWHERE selecciona aquellas filas en que la condicin es verdadera.

    Las condiciones simples pueden aparecer combinadas por operadores lgicos. Losoperadores lgicos son AND, OR y NOT. Aqu E y F representan condiciones.

    Expresin Significado Es verdadera cuando ...X AND Y X y Y X es verdadera y Y es verdadera

    X OR Y X o Y o ambos X es verdadera o Y lo es oambas

    NOT X No X X es falsa

  • 14

    NOTA : El operador NOT requiere parntesis. Es decir se debe escribir WHERE NOT(salario > 50) mientras que es incorrecto WHERE NOT salario > 50. Se entiende quebuscamos filas con salarios no mayores que 50.

    Ejemplos:

    Listar los empleados cuya fecha de ingreso sea anterior al 2004, o cuyo salario seamayor que 50 ( o ambas cosas).

    Listar los clientes cuyos nombres empiecen con una letra en

    Obsrvese que la condicin apropiada para obtener los nombre que emnom mos nomb mos un nombre com

    complicadas. Por ejemplo, supongamos que ahora queremos listar los empleados cuyafecha de ingreso es anterior al 2004, o cuyo salario sea mayor que 50, pero no ambascosas a la vez. Entonces, debemos escribir :

    El resultado es "Empty set", es decir, no hay filas que cumplan la condicin. En el casode condiciones ms complicadas se recomienda un amplio uso de parntesis.

    2.2.Clusula ORDER BY.

    La clusula ORDER BY produce una ordenacin de las filas de salida del Query oconsulta. Se puede ordenar por una columna seleccionada.

  • 15

    Tambin se puede ordenar por varias columnas.

    Cuando se ordena por varias columnas, por ejemplo 3, el procedimiento es bsicamenteel que sigue : Se ordena por la primera columna. Si hay valores repetidos en la primeracolumna, para cada grupo de valores repetidos se ordenan las filas por el valor de la 2columna. Si hay valores repetidos de las dos primeras columnas en conjunto, se ordenanlas filas correspondientes por la 3 columna.

    Ejemplo: Supongamos una tabla con las siguientes columnas y valores:

    a b c d

    125 Diana Prez 1/1/2004 12313486 Alejandro Bentancourt 30/12/2005 45646222 Jorge Rodrguez 2/5/2004 78987125 Diana Prez 3/8/2004 654654222 Adriana Salgado 1/3/2002 12312

    Si ordenamos esta tabla por las columnas a, b y c, obtenemos

    125 Diana Prez 1/1/2004 12313125 Diana Prez 3/8/2004 654654

  • 16

    222 Adriana Salgado 1/3/2002 12312222 Jorge Rodrguez 2/5/2004 78987486 Alejandro Bentancourt 30/12/2005 45646

    Por ltimo, se puede ordenar por una cantidad calculada a partir de una o variascolumnas.

    2.3.Clusula LIMIT.

    La preparacin de una consulta complicada implica normalmente un proceso de pruebay error. Aunque no se cometan errores, siempre se empieza escribiendo consultas queslo realizan una parte de lo que se desea alcanzar. Luego, se van mejorandogradualmente hasta llegar al objetivo buscado.

    Cuando se trabaja con tablas autnticas con muchos cientos o miles de filas, puede serdemasiado engorroso ir obteniendo repetidas salidas con cientos o miles de filas. Esobvio que no se pueden observar en la pantalla del cliente mysql. Por otra parte, en suinstalacin puede haber otros clientes que operen con MySQL.

    De todas maneras, interesa una clusula sencilla que limite el nmero de filas queproduce el SELECT. Esa es la funcin de LIMIT. Si, por ejemplo, escribimos

    Vemos 3 filas en la salida, a pesar que hay varias ms en Ventas.

  • 17

    El orden de las clusulas.

    Las clusulas mencionadas, SELECT...FROM.. , WHERE, ORDER BY, y LIMITdeben escribirse, si aparecen, en ese orden. SELECT siempre aparece y va en primerlugar. Las otras 3 son optativas.

    2.4.Ejecucin de un script en la lnea de comando.

    Hasta ahora hemos venido escribiendo a continuacin del prompt mysql> del clientemysql.

    Este procedimiento presenta inconvenientes cuando tenemos que ejecutar un nmeroimportantes de instrucciones o sentencias de forma repetitiva. Un procedimientosencillo para Windows, es el siguiente:

    1. Inicie el programa Bloc de Notas. Suele estar en Inicio, Programas, Accesorios.2. Escriba en l su consulta. (select * from sucursales;)3. Gurdelo por ejemplo en C:/MYSQL/MySQL Server5.0/bin/pruebas/pruebas.txt

    con el nombre pruebas.txt4. Vaya al cliente mysql y escriba

    Si la consulta no dio el resultado esperado, ahora no es preciso escribir todo de nuevo.Simplemente corrjalo en el Bloc de Notas. y vuelva a guardarlo. Repita los pasos hastaobtener el resultado buscado. La opcin anterior tiene verdaderamente sentido cuandotenemos que ejecutar o probar un grupo importante de sentencias que finalmenteconduzcan a un script de mantenimiento o administracin de la base de datos diaria,semanal, mensual,

    2.5.Problemas resueltos.

    1. Obtener todos los datos de la tabla Empleados.

  • 18

    Solucin:

    2. Obtener los nombres y las fechas de ingreso de los empleados.

    Solucin : Formalmente, queremos obtener las columnas Nombre, Fecha_ingreso detodas las filas de la tabla Empleados. La consulta es:

    3. Obtener los datos de los empleados que ganan ms de 10500,50.

    Solucin: Queremos obtener todas las columnas de las filas de Empleados para lascuales Salario es mayor que 10500,50.

    Obsrvese el uso del punto decimal. Las comas no se pueden utilizar ni en lugar delpunto decimal ni para separar los miles.

    4. Queremos obtener los datos del funcionario Carlos Zaltzman.

    Solucin: Se trata de obtener una fila de Empleados, aquella en la cual el nombre delfuncionario es Carlos Zaltzman.

  • 19

    5. Qu empleados ingresaron el 3 de enero del 2000?.

    Solucin: Se trata de obtener filas de Empleados, aquellas en las cuales la fecha deingreso sea '2000-1-3'. El formato apropiado para la fecha es Ao-Mes-Da. La consultaes:

    6. Qu empleados ingresaron en fecha posterior al 1 de enero del 2000?

    Solucin: Queremos obtener las filas de Empleados con fecha de ingreso mayor que'2000-1-1'. La consulta es:

    7. Qu empleados ingresaron el 5 de enero del 2000 o en una fecha posterior?

    Solucin: La fecha de ingreso debe ser mayor o igual a '2001-1-5'.

    8. Obtener una lista de los nombres de los clientes de los cuales no se tiene direccin.

  • 20

    Solucin: Se trata de obtener la columna Nombre de las filas de la tabla Clientes cuyadireccin es NULL.

    9. Sacar una lista de los nombres y direcciones de los clientes de los cuales s se tienela direccin.

    Solucin: Se trata de obtener la columnas Nombre, Direccion de las filas de la tablaClientes que tienen direcciones que no sean NULL.

    10. Obtener una lista de los diferentes salarios que se pagan en la empresa.

    Solucin:

    11. Obtener una lista ordenada alfabticamente de los nombres y direcciones de losclientes, ordenados por nombre.

    Solucin:

  • 21

    12. Obtener una lista de todos los datos de los empleados ordenados por nombre.

    Solucin:

    13. Obtener una lista de los datos de los empleados ordenados por salario en formadescedente. Los salarios deben ser formateados con comas cada 3 dgitos y dosdecimales despus del punto y alineados a la derecha, por ejemplo, 1,200,340.50.

    Solucin:

    14. Igual al anterior pero se quiere que los nmeros salgan formateados con puntos cada3 dgitos y coma decimal, en vez de punto. Por ejemplo, 1.200.340,50 .

    Solucin:

  • 22

    Si bien es un procedimiento complicado, para usarlo en otro caso slo hay que copiar laparte que comienza con REPLACE y termina en el parntesis antes de AS Salario yhacer los siguientes cambios:

    1. Cambiar la columna Salario por la que se vaya a usar.2. Eventualmente cambiar el nmero de decimales despus de la coma, que figuradentro de la funcin FORMAT, de 2 al valor que se desee.3. Si es conveniente, variar el ancho de la columna. Este ancho aparece dentro de lafuncin LPAD. En este ejemplo vale 12. El ancho debe ser suficiente para poder escribirtodos los valores que aparezcan en la columna, con el nmero de decimales que se hayasolicitado.

    3. SELECT (como calculadora)

    Se puede usar la clusula SELECT para hacer clculos aritmticos.

    Ejemplos:

    O este otro:

  • 52

    usado COUNT (DISTINCT ....) para contar cuntos elementos distintos hay enuna expresin calculada en base a una columna.

    7.2.Bsqueda de texto.

    A menudo tenemos columnas que son cadenas de caracteres, y queremos buscar lascadenas que contienen cierta palabra. Esto se realiza a travs de un nuevo tipo decondicin: Nombre_de_columna LIKE cadena_de_caracteres.

    Por ejemplo, Nom

    Estas condiciones pueden usarse, como todas, en una clusula WHERE o en unaclusula HAVING. La condicin Nombre_de_columna LIKE cadena_de_caracteres

    verdadera cuando el valor deNombre_de_columna coincide con cadena_de_caracteres (salvo que no se distingueentre maysculas y minsculas).

    Veamos los valores de la condicin A LI ar donde A es una columna:

    Valor de la columna A'Carlos' Verdadera'carlos' Verdadera'Carlos ' Falsa'Juan' Falsa'Juan Carlos' Falsa

    Un % dentro de cadena_de_caracteres representa cualquier cadena de caracteres,incluso una sin caracteres. Ent a

    Valor de la columna A'Carlos' Verdadera'carlos' Verdadera'Carlos Zaltzman' Verdadera'Carlos ' Verdadera'Juan' Falsa'Juan Carlos' Falsa

  • 53

    Valor de la columna A'Carlos' Verdadera'carlos' Verdadera'Juan carlos' Verdadera'Juan Carlos Rodrguez' Falsa'Juan Carlos ' Falsa

    Valor de la columna A'Carlos' Verdadera'carlos' Verdadera' carlos ' Verdadera'Juan Carlos Rodrguez' Verdadera'Juan' Falsa

    El carcter '_' representa un carcter cualquiera. A diferencia de representa uncarcter y uno slo. Luego seguidos representan dos caracteres cualquiera, etc.

    Valor de la columna A'Carlos' Falsa'12Carlos' Verdadera'xxCarlos' Verdadera' Carlos' Verdadera'xxcarlos' Verdadera'Juan Carlos' Falsa

    NOT LIKE es simplemente la negacin de LIKE: es verdadera cuando LIKE es falsa yrecprocamente.

    Problemas resueltos

  • 54

    1. Listar el artculo cuyo cdigo es 'mon20'.

    Solucin:

    2. Hacer una lista de todos los datos de los artculos en cuyo nombre figura lam

    Solucin:

    Obsrvese que aunque la palabra monitor est en la columna Nombre conmayscula, igualmente aparece en el resultado de la consulta.

    3. Listar todos los datos de los artculos cuyo cdigo comi m

    Solucin:

    4. Listar los artculos cuyo cdigo term

    Solucin:

  • 55

    5. Listar los artculos cuyo cdigo tenga exactamente dos caracteres.

    Solucin:

    No hay ninguno. Entonces MySQL responde "Empty set", es decir, "Conjuntovaco".

    6. Listar todos los artculos en cuyo nombre NO figure la palabra "monitor".

    Solucin:

    7.3.Unin de dos tablas de resultados .

    UNION ALL indica que se haga la unin de dos resultados, simplemente escribiendouna tabla debajo de la otra. Por ejemplo, si queremos los artculos y cantidades de lasventas a los clientes 1 y 2, basta escribir

    (SELECT Articulo, Cantidad FROM VentasWHERE Cliente=1)UNION ALL(SELECT Articulo, Cantidad FROM VentasWHERE Cliente=2);