iniciación al lenguaje estructurado de consultas

Upload: ivandramirez6507

Post on 06-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    1/36

    Iniciación al lenguaje estructurado de consultas (SQL)

    El lenguaje estructurado de consultas, más comúnmente llamado SQL, lo conforman una serie de

    comandos, cláusulas y funciones que permiten realiar cualquier operación so!re la información

    almacenada en la !ase de datos"

    SQL no es e#actamente un lenguaje de programación pero lle$a impl%cita la complejidad de estas&erramientas" En realidad, los sistemas gestores de !ases de datos como 'icrosoft ccess o el

    mismo penffice *ase tienen como principal fin ocultar el lado oscuro de este lenguaje mediante

    el uso de utilidades gráficas" unque si tu intención es llegar a dominar el mundo de las !ases de

    datos es imprescindi!le conocer ciertos aspectos de SQL"

    +otapenffice *ase tiene limitaciones que se pueden suplir mediante el uso de sentencias SQL"

    no de los m-todos más sencillos para tra!ajar directamente con sentencias SQL en penffice

    *ase es tener seleccionada la opción Consultas en la $entana principal de la !ase de datos y a

    continuación &acer clic so!re el elemento denominado Crear consulta en vista SQL como puedes

    $er en la figura ."/" 0espu-s te encontrarás ante una fr%a $entana so!re la que de!erás ir 

    escri!iendo las instrucciones necesarias"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    2/36

    1igura ."/

    +ota

    'ediante los comandos disponi!les en el conjunto de elementos que agrupa SQL puedes realiarcualquier operación so!re una !ase de datos, desde seleccionar registros &asta crear una ta!la o

    definir sus cla$es"

    Seleccionar registros, sentencia SELE23

    La sentencia SELECT $a a permitir realiar operaciones de selección, ordenación, agrupación y

    filtrado de registros4 $eamos algunos ejemplos" Si lo deseas, &a clic aqu%  para descargar una !ase

    de datos con todo lo necesario para realiar las acti$idades siguientes"

     cti$idad /

    En primer lugar a!re la !ase de datos con la que deseas tra!ajar y dentro del apartado 2onsultas,

    selecciona la opción Crear consulta en vista SQL" 0e esta forma tendrás acceso a la $entana

    que puedes $er en la figura ."5 y podrás completar los pasos que se descri!en a continuación6

    http://www.ite.educacion.es/formacion/materiales/93/cd/m6/BaseEjemplo.odbhttp://www.ite.educacion.es/formacion/materiales/93/cd/m6/BaseEjemplo.odbhttp://www.ite.educacion.es/formacion/materiales/93/cd/m6/BaseEjemplo.odb

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    3/36

    1igura ."5

    /" &ora escri!e6 SELECT" 7ara que te resulte más sencillo distinguir entre aquellas pala!ras

    que forman parte de la sinta#is de SQL y los parámetros que proporcionas, escri!e siempre en

    mayúsculas las pala!ras reser$adas que utilia SQL"

    5" continuación de!es indicar los campos de la ta!la que deseas mostrar en la consulta" Siescri!es un asterisco 89: le estás indicando al int-rprete SQL que muestre todos los campos"

    ;" La siguiente pala!ra reser$ada de la instrucción es6 FROM" Escr%!ela a continuación,

    dejando un espacio en !lanco entre el elemento anterior"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    4/36

    1igura .";

    7ara seleccionar sólo algunos de los campos de la ta!la de!es enumerarlos tras la pala!ra

    reser$adaSELECT y antes del FROM6

    /" Selecciona de nue$o la opción Crear consulta en vista SQL para crear un nue$o dise?o"

    5" &ora escri!e6 SELECT"

    ;" continuación de!es indicar los campos de la ta!la que deseas mostrar en la consulta"

    Escri!eNombre, a?ade una coma, un espacio y escri!e el siguiente nom!re de campo Apellidos"

    Siguiendo este patrón podrás incluir tantos campos como necesites"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    5/36

    1igura ."<

    Importante

    2omo cualquier otro lenguaje de programación, no respetar la sinta#is de las instrucciones es uno

    de los pro!lemas más &a!ituales" >e$isa cuidadosamente la sentencia completa antes de

    ejecutarla"

    +ota

    En determinadas ocasiones puede ser necesario anteponer el nom!re de la ta!la al nom!re del

    campo en la definición de la consulta del siguiente modo6

    SELECT Alumnos!Nombre Alumnos!Apellidos FROM Alumnos

    Si !ien es cierto que sólo es realmente necesario cuando &ay más de una ta!la en la consulta y se

    &ace indispensa!le identificar el origen de cada campo"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    6/36

    1iltrar registros, cláusula ABE>E

    La función principal de una consulta es seleccionar sólo aquellos registros de la ta!la o ta!las

    seleccionadas que necesites en cada caso" 7ues !ien, si quieres &acerlo mediante sentencias SQL

    es imprescindi!le a?adir la cláusula ABE>E al comando SELE23"

    7or ejemplo, a continuación mostramos cómo dise?ar la consulta SQL que nos permitir%aseleccionar aquellos alumnos cuya fec&a de nacimiento sea anterior al ;/ de 0iciem!re de /CC5"

    /" Selecciona la opción Crear consulta en vista SQL"

    5" Empiea escri!iendo SELECT"

    ;" continuación de!es indicar los campos de la ta!la que deseas mostrar en la consulta" En

    este caso utilia el nom!re, los apellidos y la fec&a de nacimiento"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    7/36

    1igura ."=

     cti$idad 57ara practicar con todo lo comentado, dise?a una consulta SQL que permita seleccionar el nom!re

    y apellidos de los profesores que $i$an en la pro$incia de *adajo"

    peradores lógicos

    Los operadores lógicos que puedes utiliar en sentencias SQL son los mismos que se encuentran

    disponi!les para el dise?o de consultas en penffice *ase6

    Operador Se lee Resultado

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    8/36

    =

    Igual a Devuelve los registros que coinciden con la

    condición.

    < Menor que Muestra aquellos registros cuyos valores son

    estrictamente menores que la condición.

    >

    Mayor que Muestra aquellos registros cuyos valores son

    estrictamente mayores que la condición.

    =

    Mayor o igual que Devuelve los registros cuyos valores son

    mayores o iguales a la condición.

    Distinto de Sólo muestra aquellos registros que tienen

    valores distintos a la condición.

    nterior  F  Siguiente G

    2ondiciones > en la cláusula ABE>E

     l igual que ocurre con las consultas en el modo 0ise?o, mediante sentencias SQL tam!i-n

    puedes utiliar los operadores H (+0) y (>) y por supuesto, no se $e alterada su lógica de

    funcionamiento"

    eamos en primer lugar un ejemplo práctico donde se utilia el operador >" 2oncretamente,

    dise?aremos una consulta SQL que nos permita conocer las tutor%as que tienen lugar los 'artes o

    los Jue$es"

     cti$idad ;

    /" Selecciona la opción Crear consulta en vista SQL y empiea escri!iendo SELECT"

    http://www.ite.educacion.es/formacion/materiales/93/cd/m6/filtrar_registros_clusula_where.htmlhttp://www.ite.educacion.es/formacion/materiales/93/cd/m6/filtrar_registros_clusula_where.htmlhttp://www.ite.educacion.es/formacion/materiales/93/cd/m6/condiciones__or_en_la_clusula_where.htmlhttp://www.ite.educacion.es/formacion/materiales/93/cd/m6/condiciones__or_en_la_clusula_where.htmlhttp://www.ite.educacion.es/formacion/materiales/93/cd/m6/filtrar_registros_clusula_where.htmlhttp://www.ite.educacion.es/formacion/materiales/93/cd/m6/condiciones__or_en_la_clusula_where.html

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    9/36

    5" continuación de!es indicar los campos de la ta!la que deseas mostrar en la consulta" En

    este caso utilia -ro.esor , Curso, /iaSemana y #oraTutoria"

    ;" La siguiente pala!ra reser$ada de la instrucción es FROM" Escr%!ela a continuación,

    dejando un espacio en !lanco entre el elemento anterior"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    10/36

    Quiás todos estos pasos te puedan parecer un poco complejos al principio pero si prestas un poco

    de atención compro!arás que incluso se pueden leer6 SELECC3ONA LOS CAM-OS -ROFESOR

    C4RSO /3ASEMANA #ORAT4TOR3A /E LA TA6LA T4TOR3AS /ON/E EL /3A /E LA

    SEMANA ES MARTES O 24E7ES"

    2ondiciones +0 en la cláusula ABE>Eeamos la siguiente posi!ilidad, el operador AN/" La idea es dise?ar una consulta que permita

    conocer los encuentros que se disputarán entre dos fec&as concretas"

     cti$idad <

    /" Selecciona la opción Crear consulta en vista SQL y empiea escri!iendo SELECT"

    5" continuación indica los campos de la ta!la que deseas mostrar en la consulta" En estecaso utilia 2ornada, Lu8ar , Fec$a, E9uipoA y E9uipo6"

    ;" Escri!e FROM, dejando un espacio en !lanco entre el elemento anterior y el siguiente"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    11/36

    1igura ."@

    na $e dise?ada la consulta y compro!ados sus resultados puedes utiliar el !otón =uardar para

    dar un nom!re y arc&i$ar la consulta en la !ase de datos"

    +ota2omo &as podido compro!ar el interprete SQL de penffice *ase tampoco utilia las

    almo&adillas para representar las fec&as, como &ac%as en las consultas" En este caso, siempre

    de!es usar comillas simples, separar con un guión el a?o, mes y d%a y escri!irlo en este orden"

    Estas instrucciones son imprescindi!les a la &ora de incluir fec&as en tus sentencias SQL, y

    teniendo en cuenta que es algo distinto de lo que conocemos, nuestra recomendación es que

    practiques un poco con todo lo $isto &asta a&ora"

    ImportanteBay que insistir en la importancia de las comillas simples a la &ora de e#presar las fec&as en una

    consulta de criterios" 7or este moti$o para que no tengas ninguna duda en la figura ."D puedes $er

    la tecla concreta a la que &acemos referencia"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    12/36

    1igura ."D

    2ondiciones +0 y > en la cláusula ABE>E

    2on el o!jeti$o de a!arcar todas las posi!ilidades, $eamos a continuación cómo ser%a el dise?o de

    una consulta donde se com!inen al mismo tiempo operadores AN/ y OR" 2oncretamente, el

    o!jeti$o es conocer los encuentros que se juegan el d%a /5K55KK@ o el /

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    13/36

    D" continuación escri!e6 Lu8ar & 0-ista (1" 0e esta forma compones el primer criterio"

    C" 0eja un espacio, escri!e OR y deja otro espacio"

    /K" El criterio siguiente ser%a6 Fec$a & ';;'

    //" &ora escri!e el operador lógico AN/ y deja un espacio"

    /5" continuación escri!e6 Lu8ar & 0-ista (1" 0e esta forma compones el segundo criterio"

    /;" 0espu-s de estos pasos la sentencia SQL quedar%a de la siguiente forma" >e$isa con

    cuidado todo lo escrito y no ol$ides incluir los par-ntesis tal y como puedes $er a continuación6

    SELECT 2ornada Fec$a Lu8ar E9uipoA E9uipo6 FROM Calendario "#ERE ??Fec$a &

    ';;

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    14/36

    rdenar registros, cláusula >0E> *H

    tro aspecto importante cuando dise?as consultas son los criterios de ordenación" 2on ellos, el

    resultado presentará los datos clasificados de la forma que necesites en cada caso" En SQL la

    cláusula dedicada a este fin se denomina OR/ER 6 y de!es situarla despu-s de todos los

    campos de filtrados asociados a la cláusula ABE>E"2omo siempre, lo mejor será $er un ejemplo pero en este caso no demasiado complicado6

    o!tendremos un listado ordenado alfa!-ticamente de todos los alumnos que pertenecan al grupo

    5"

    /" Selecciona la opción Crear consulta en vista SQL y empiea escri!iendo6 SELECT"

    5" continuación indica los campos de la ta!la que deseas mostrar en la consulta" En este

    caso, utilia el* para a?adir todos los campos"

    ;" Escri!e FROM, dejando un espacio en !lanco entre el elemento anterior y el siguiente"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    15/36

    1igura ."/K

    +otaEl campo =rupo, al ser un $alor estrictamente num-rico, no necesita a?adirle comillas simples en

    la sentencia SQL" 2uando quieras ordenar por más de un campo, escr%!elos uno a continuación de

    otro y sepáralos con una coma"

     cti$idad .0ise?a una consulta que nos permita conocer todos aquellos profesores que $i$en en *adajo o en

    2áceres" demás, ordena el resultado en primer lugar por la pro$incia y en segundo lugar por el

    apellido del profesor"

    2am!iar el nom!re de los campos en el resultado con

     LIS

    penffice *ase utilia la propiedad Alias en el dise?o de consultas para modificar el nom!re de

    cualquier campo en el resultado" En SQL tam!i-n se encuentra disponi!le esta caracter%stica,

    compru-!alo en el siguiente ejemplo"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    16/36

     cti$idad @

    /" Selecciona la opción Crear consulta en vista SQL y empiea escri!iendo6 SELECT"

    5" continuación indica los campos de la ta!la que deseas mostrar en la consulta" En este

    caso, utilia el campo Nombre"

    ;" 0eja un espacio y escri!e la pala!ra reser$ada AS y despu-s el nom!re con el que

    representarás el campo en la consulta, por ejemplo Nombre /epartamento"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    17/36

    1igura ."//

    ImportanteSi el nom!re utiliado como alias está compuesto por más de una pala!ra es imprescindi!le

    escri!irlo entre comillas do!les" 2uando está compuesto por una única pala!ra no ser%a necesario"

    +otaSQL permite utiliar en la cláusula OR/ER 6 el nom!re del alias en lugar del nom!re original del

    campo" 0e este modo tam!i-n mejorarás la comprensión general de la instrucción" La sentencia de

    nuestro último ejemplo quedar%a del siguiente modo6

    SELECT Nombre AS Nombre del e9uipo FROM E9uipos OR/ER 6 Nombre del e9uipo

    !tener información de $arias ta!las

    0e igual modo que e#iste la posi!ilidad en la $ista 0ise?o de $incular dos o más ta!las para

    o!tener resultados com!inados, SQL tam!i-n dispone de las &erramientas necesarias para realiar 

    este tipo de tareas" El proceso es sin duda más complicado que lo $isto con el dise?ador de

    consultas, pero a cam!io tendrás muc&o más control so!re todo el proceso"

    SQL propone un m-todo para identificar la ta!la asociada a cada uno de los campos cuando

    tra!ajas con $arias ta!las" La sinta#is consiste en anteponer el nom!re de la ta!la al nom!re del

    campo y separarlos por un punto6

    NombreTabla!NombreCampo

     ntes de $er el primer ejemplo, re$isemos los distintos tipos de relación que se pueden definir entre

    las ta!las"

    • 3nterna ?2O3N 3NTERNO@6 El resultado muestra sólo los registros en los que el campo

    $inculado de am!as ta!las sea el mismo"

    • 3B9uierda ?2O3N 3Q43ER/O@6 En este caso, el resultado muestra todos los registros de la

    ta!la iquierda, y sólo aquellos de la ta!la derec&a donde coincida el campo $inculado"

    • /erec$a ?2O3N /EREC#O@6 2on este modelo ocurrir%a justo lo contrario que en el anterior,

    aparecer%an todos los registros de la ta!la derec&a y sólo aquellos de la ta!la iquierda en

    los que coincidan los campos $inculados"

    • Completa ?2O3N CR4A/O@6 'uestra todos los registros de am!as ta!las"

    7or supuesto, en SQL tam!i-n e#iste la posi!ilidad de reproducir cada uno de estos tipos de unión

    pero en estos momentos no es necesario a?adir este ni$el de complejidad al curso, as% que

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    18/36

    utiliaremos la fórmula más sencilla, la $inculación de ta!las mediante la cláusula "#ERE" Este

    m-todo equi$ale a seleccionar aquellos registros donde am!as ta!las tengan coincidencia que, por 

    otra parte, es la situación más común cuando tra!ajes con !ases de datos"

    En nuestro primer ejemplo, utiliaremos las ta!las Alumnos y Cursos para representar en una

    consulta el grupo al que pertenece cada uno de los alumnos que forman nuestra !ase de datos"

    /" Selecciona la opción Crear consulta en vista SQL y empiea escri!iendo6 SELECT"

    5" continuación indica los campos de la ta!la que deseas mostrar en la consulta, pero

    recuerda que a&ora de!es anteponer el nom!re de la ta!la" Incluye los

    campos Nombre y Apellidos de la ta!laAlumnos"

    ;" 0e la ta!la 2ursos utilia sólo el campo Curso"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    19/36

    1igura ."/5

     cti$idad D

    7ero puedes depurar un poco más el ejemplo" MQu- tal si ordenas el resultado alfa!-ticamente por los apellidos del alumnoN La figura ."/; muestra el resultado de la nue$a consulta" na $e

    terminada, guarda la consulta"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    20/36

    1igura ."/;

     cti$idad C3am!i-n puedes a?adir una condición a la consulta anterior" 7or ejemplo, muestra únicamente los

    alumnos de /*" 7ara ello, de!es a?adir una nue$a condición a la cláusula "#ERE, antes

    de OR/ER 6 y enlaarla mediante el operador AN/" El resultado que o!tengas de!e ser similar

    al que muestra la figura ."/

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    21/36

    1igura ."/<

     cti$idad /K &ora ria un poco más el rio, y modifica la consulta dise?ada en la acti$idad C, para que muestre

    los alumnos que pertenecan a / o a /*, pero esta $e los ordenarás primero por el grupo y a

    continuación, por el apellido" La forma de conseguirlo es utiliar un nue$o criterio enlaado con el

    anterior mediante el operador > ya que quieres mostrar cualquiera de las dos opciones" !ser$a

    el resultado en la figura ."/= y guarda la consulta"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    22/36

    1igura ."/=

    +ota

    Quiás te parecan un poco complicadas las últimas acti$idades, pero anal%alas con atención y

    compro!arás que todas siguen una pauta lógica" En cualquier caso, es necesario adquirir ciertadestrea con este lenguaje para dominar su uso"

    2onsultas de agrupación y totales con SQL

    En el apartado anterior tratamos la forma de relacionar $arias ta!las en una sentencia SQL, pero

    aún &ay más" 'ediante la cláusula =RO4- 6 puedes utiliar uno o $arios campos para agrupar 

    registros y realiar determinadas operaciones con ellos" lgunas de estas funciones son las

    mismas que ya tratamos en el cap%tulo de consultas y permiten6

    • CO4NT6 2uenta el total de elementos de un grupo"

    • S4M6 Suma los $alores num-ricos de los registros agrupados"

    • M3N6 'uestra el $alor más peque?o de un grupo"

    • MAD6 'uestra el $alor má#imo de todo el conjunto de registros agrupados"

    • A7ERA=E6 2alcula la media de todos los $alores seleccionados"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    23/36

      continuación, dise?emos una nue$a consulta donde el o!jeti$o será contar el número total de

    alumnos que componen cada grupo (/, /*, /2, 5O)6

    /" Selecciona la opción Crear consulta en vista SQL y empiea escri!iendo6 SELECT"

    5" continuación indica los campos de la ta!la que deseas mostrar en la consulta" Indica en

    primer lugar el nom!re del grupo"

    ;" En segundo lugar, de!es escri!ir la sentencia que calcule el total de alumnos6 CO4NT

    ?Alumnos!Epediente@

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    24/36

    1igura ."/.

    na !uena idea podr%a ser a?adir un alias al campo calculado y as% mejorar la comprensión de los

    resultados6

    SELECT Cursos!Curso CO4NT?Alumnos!Epediente@ AS Total Alumnos por =rupo FROM

    Alumnos Cursos "#ERE Alumnos!=rupo&Cursos!3dCurso =RO4- 6 Cursos!Curso

    Importante>ecuerda las do!les comillas en el nom!re de alias cuando se trata de más de una pala!ra"

    2riterios de filtrado en consultas de agrupación y

    totales, cláusula BI+P2uando se trata de consultas de agrupación y totales, la forma de utiliar criterios de ordenación es

    algo distinta de lo que &as $isto &asta a&ora" La diferencia se encuentra en que de!es utiliar una

    nue$a cláusula6#A73N= (figura ."/@)" 7or ejemplo, si sólo deseas contar los alumnos de /, la

    consulta quedar%a del siguiente modo6

    SELECT Cursos!Curso CO4NT ?Alumnos!Epediente@ FROM Alumnos Cursos "#ERE

    Alumnos!=rupo&Cursos!3dCurso =RO4- 6 Cursos!Curso #A73N= Cursos!Curso & '(A'

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    25/36

    1igura ."/@

    Si lo deseas puedes complicar los criterios a?adiendo nue$os filtrados mediante los

    operadores AN/ y OR" La siguiente consulta es id-ntica a la anterior pero o!tiene el total de

    alumnos de los grupos / y /*"

    SELECT Cursos!Curso CO4NT?Alumnos!Epediente@ FROM Alumnos Cursos "#EREAlumnos!=rupo&Cursos!3dCurso =RO4- 6 Cursos!Curso #A73N= Cursos!Curso & '(A' OR

    Cursos!Curso & '(6'

    +ota

    Es posi!le que llegados a este punto te est-s planteando, por qu- de!es complicarte tanto la $ida

    con SQL si lo puedes &acer de forma muc&o más sencilla con el dise?ador de consultas" Lae#plicación la encuentras por una parte en las limitaciones que aún presenta penffice *ase y

    que únicamente se pueden suplir mediante sentencias SQL" 3am!i-n es necesario tener ciertas

    nociones de SQL ya que al tratarse de un lenguaje uni$ersal y estándar puedes utiliar las

    consultas en cualquier otra !ase de datos"

    Eliminar registros, comando 0ELE3E

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    26/36

    La $ersión actual de penffice no permite dise?ar $isualmente consultas de eliminación, inserción

    o actualiación" 7or lo tanto, para realiar este tipo de tareas en la !ase de datos de!es recurrir a

    SQL"

    La sentencia /ELETE permite eliminar registros de una ta!la" Esta es sin duda una operación

    delicada por lo que de!es estar muy seguro de lo que &aces pues una $e ejecutada no e#iste la

    posi!ilidad de des&acer la operación"

    Importantena !uena recomendación cuando realiamos procesos de eliminación de registros es realiar en

    primer lugar una consulta de selección para compro!ar que estás seleccionando realmente los

    datos que deseas eliminar"

    Los comandos /ELETE, 3NSERT y 4-/ATE no se pueden ejecutar del modo que lo &as estado

    &aciendo &asta a&ora con las consultas de selección (SELECT)" penffice *ase no permite

    &acerlo, pero s% incluye una &erramienta que ofrece la posi!ilidad de ejecutar estas instrucciones yen general, cualquier sentencia SQL"

    /" En la $entana principal del programa, en la parte superior, &a clic so!re el

    menú #erramientas"

    5" continuación, selecciona el comando SQL para tener acceso al cuadro de diálogo que

    muestra la figura ."/D"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    27/36

    1igura ."/D

    En esta $entana encuentras en primer lugar el cuadro denominado Comando a eecutar " Será

    aqu% donde de!as escri!ir la sentencia SQL que deseas aplicar so!re la !ase de datos" *ajo este

    espacio se encuentra el !otón Eecutar que tendrás que utiliar para lle$ar a ca!o las operaciones

    indicadas en el comando SQL"

      continuación dispones de una lista desplega!le con las últimas sentencias SQL ejecutadas, una

    especie de &istórico que puede ser$ir para no tener que escri!ir $arias $eces la misma instrucción

    si ya la &as utiliado con anterioridad" !ser$a este elemento resaltado en la figura ."/C"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    28/36

    1igura ."/C

    7or último, la sección Estado que &emos resaltado en la figura ."5K, mostrará todos los mensajes

    relacionados con la ejecución de la sentencia SQL"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    29/36

    1igura ."5K

    Sinta#is de las sentencias en el int-rprete SQL

    Sinta#is de las sentencias en el int-rprete SQL

    El ni$el de e#igencia del int-rprete SQL en cuanto a la sinta#is de las instrucciones es muy alto y

    necesitas actuar de modo algo distinto a lo que &as &ec&o &asta a&ora" lgunos datos importantes

    que de!es tener en cuenta son6

    • Los nom!res de ta!las y campos de!en estar entre comillas do!les" 7or ejemplo6 SELECT

    Nombre Apellidos FROM Alumnos

    • En cuanto a las condiciones, los literales de!en estar incluidos entre comillas simples y

    cada una de las condiciones encerradas entre par-ntesis" 7or ejemplo6 SELECT

    Nombre Apellidos FROM Alumnos "#ERE ?Nombre & 'Antonio'@

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    30/36

    +otaEl t-rmino literal dentro del dise?o de consultas mediante lenguaje SQL &ace referencia al te#to de

    una condición4 en el ejemplo anterior, ntonio ser%a un literal"

    • Si la condición fuera una fec&a no &a!r%a demasiados cam!ios6 SELECT Nombre

    Apellidos FROM Alumnos "#ERE ?Fec$aNacimiento & ';;G+(+;('@

    • 2uando &ay $arias condiciones es con$eniente encerrar todo el contenido de la

    cláusula "#ERE entre par-ntesis6 SELECT Nombre Apellidos FROM Alumnos

    "#ERE ??Fec$aNacimiento & ';;G+(+;('@ AN/ ?Fec$aNacimiento & ';;G+(+

    ,('@@

    +otaEs esencial que sigas al pie de la letra la sinta#is requerida por el int-rprete de SQL incluido en

    penffice4 de lo contrario un mensaje indicará que algo no está !ien"

    Ejemplo de eliminación de registros

      continuación un ejemplo del proceso completo de eliminación de registros con penffice *ase"

    Eso s%, aplicaremos el principio de prudencia, es decir, crearemos en primer lugar una consulta de

    selección estándar y la con$ertiremos despu-s en una consulta de eliminación" 0e esta forma

    podemos compro!ar si los registros que serán eliminados corresponden e#actamente con los que

    deseamos !orrar de la !ase de datos" La idea es eliminar los alumnos cuya fec&a de nacimiento

    sea inferior a ;//5/CCK" El resultado lo de!es ordenar alfa!-ticamente" Empecemos por dise?ar 

    la consulta"

     cti$idad //

    /" Selecciona la opción Crear consulta en vista SQL y empiea escri!iendo6 SELECT"

    5" continuación indica los campos de la ta!la que deseas mostrar en la consulta" En este

    caso, utiliarás los campos Nombre y Apellidos y Fec$aNacimiento de la ta!la Alumnos"

    ;" &ora a?ade la cláusula FROM y escri!e el nom!re de la única ta!la implicada6 Alumnos

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    31/36

    ." La instrucción SQL queda del siguiente modo6 SELECT Nombre Apellidos

    Fec$aNacimiento FROM Alumnos "#ERE Fec$aNacimiento %& '());+(+,(' OR/ER 6

    Apellidos

    !ser$a el aspecto de la $entana dise?o en la figura ."5/"

    1igura ."5/

    @" Ejecuta la consulta y comprue!a que los resultados mostrados corresponden realmente

    con la información que deseas eliminar de la !ase de datos" Insistimos en que este paso pre$io es

    muy importante para estar completamente seguro que eliminaremos los registros correctos"

    D" na $e que est-s completamente seguro de que la selección es correcta, un peque?o

    truco para a&orrar algo de tra!ajo6 Selecciona la instrucción SQL completa y despu-s utilia el

    comando Copiar , ya sea con la com!inación de teclas 2ontrol2 o desde el menú Editar "

    C" 2ierra la $entana de consulta, guarda el resultado si lo crees con$eniente y $uel$e a la

    $entana principal de la !ase de datos"

    /K" En el menú #erramientas selecciona el comando SQL como muestra la figura ."55"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    32/36

    1igura ."55

    /5" Ba clic dentro de la primera sección del cuadro de diálogo y ejecuta el comando -e8ar

    ?ControlH7@" l instante aparece la instrucción de selección"

    /;" 7ero si lo que deseas es eliminar registros y no seleccionarlos, de!es &acer algunos

    cam!ios" 2oncretamente de!es eliminar el comando SELECT y cam!iarlo por /ELETE" demáselimina los nom!res de campos y la cláusula OR/ER 6" na $e &ec&os todos estos cam!ios la

    sentencia quedar%a de la siguiente forma6 /ELETE FROM Alumnos "#ERE

    ?Fec$aNacimiento %& '());+(+,('@

    /

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    33/36

    /@" 1inalmente, en la parte inferior del cuadro de diálogo Eecutar comandos SQL de!e

    aparecer un mensaje indicando que todo &a sido correcto como puedes $er en la figura ."5;"

    1igura ."5;

    3rucoSi quieres conocer la sentencia SQL asociada a cualquier consulta mientras tra!ajas en la $ista

    0ise?o, ejecuta el comando 7er y despu-s selecciona Activar o desactivar la vista /iseJocomo

    puedes compro!ar en la figura ."5

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    34/36

    1igura ."5<

    Insertar nue$os registros, sentencia I+SE>3

    El comando SQL de inserción de registros puede ser tremendamente útil a la &ora de llenar ta!las

    cuya información o!tienes mediante otra fuente de datos como otras ta!las o consultas"

    n ejemplo sencillo6 cómo a?adir un registro a la ta!la cti$idades que únicamente tiene un campo

    ya que el identificador es autonum-rico y por lo tanto, se genera automáticamente al a?adir un

    nue$o registro6

     cti$idad /5

    /" En la $entana principal de la !ase de datos &a clic so!re el menú #erramientas y

    despu-s ejecuta el comando SQL"

    5" En la primera sección del cuadro de diálogo escri!e la siguiente instrucción6 3NSERT 3NTO

    Actividades ?Actividad@ 7AL4ES ?'7oleibol'@

    ;" 0espu-s de escri!ir la sentencia SQL, &a clic en el !otón Eecutar "

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    35/36

    =" >e$isa la ta!la Actividades y comprue!a que se &a a?adido el registro"

     s% planteado quiás no te pareca demasiado interesante el comando I+SE>3 pero, Mqu- te

    parecer%a a?adir una consulta a esta misma sentencia y que pudieras incluir en la ta!la

    seleccionada el resultado de la consultaN 7or ejemplo, imagina que &as o!tenido una ta!la de

    deportes ('is0eportes) y quieres utiliarla para rellenar la ta!la de acti$idades deporti$as

    (cti$idades)"

    La instrucción SQL de!er%a tener el siguiente aspecto6

    3NSERT 3NTO Actividades ?Actividad@ SELECT Nombre/eporte FROM Mis/eportes

    3ras &a!er ejecutado lo anterior, comprue!a que efecti$amente la ta!la Actividades, que

    anteriormente sólo ten%a cuatro registros, tiene a&ora tam!i-n los registros de la

    ta!la Mis/eportes"

    7or supuesto, a la consulta que sir$e para a?adir registros puedes a?adirle tantas condiciones y

    cláusulas como necesites" 7or ejemplo, puedes elegir todos aquellos deportes que no sean de tipo

    indi$idual (3enis, tletismoO)

    3NSERT 3NTO Actividades ?Actividad@ SELECT Nombre/eporte FROM Mis/eportes

    "#ERE ?Tipo & '3ndividual'@

    ImportanteLo más importante en este tipo de consultas es que el número de campos que de$uel$e la consulta

    sea el mismo que intentas insertar" 3am!i-n es fundamental que los tipos de los campos coincidan"

     ctualiar registros, sentencia 703E

    El concepto de actualiación consiste en modificar algunos de los datos que contiene el registro"

    7or ejemplo, imagina que necesitamos cam!iar la dirección de un alumno concreto o el grupo al

    que pertenece" Este tipo de operaciones se pueden realiar mediante actualiaciones y más

    concretamente, con el comando 4-/ATE"

    2on las operaciones de actualiación mediante el comando 4-/ATE de!er%as tener las mismas

    precauciones que ya $iste para el comando /ELETE" El moti$o es el mismo, es decir, las

    modificaciones realiadas por la consulta no tienen posi!ilidad de des&acerse" En este sentido, se

    recomienda de nue$o ejecutar en primer lugar una consulta de selección para compro!ar los

    registros que se $erán afectados y una $e compro!ado que todo es correcto lle$ar a ca!o laactualiación"

    penffice no dispone de ninguna &erramienta espec%fica para realiar cualquier consulta de

    actualiación so!re la !ase de datos por lo que igual que ocurr%a en el apartado anterior de!es

    recurrir al int-rprete de consultas" 0esde la $entana principal de penffice *ase, &a clic en el

    menú #erramientas y despu-s selecciona el comando SQL"

  • 8/17/2019 Iniciación Al Lenguaje Estructurado de Consultas

    36/36

    !ser$a en el siguiente ejemplo cómo cam!iar el nom!re del departamento 8Peograf%a: por 

    8Peograf%a e Bistoria:6

    /" En la $entana principal de la !ase de datos &a clic so!re el menú #erramientas y

    despu-s ejecuta el comando SQL"

    5" En la primera sección del cuadro de diálogo, escri!e la siguiente instrucción6 4-/ATE

    /epartamentos SET Nombre & '=eo8ra.Ka e #istoria' "#ERE Nombre & '=eo8ra.Ka'

    ;" 0espu-s de escri!ir la sentencia SQL &a clic en el !otón Eecutar "