Você está na página 1de 23

Lenguaje Estructurado de consultas

SQL
Introduccin

Un Sistema de Gestin de Bases de Datos (SGBD), es un conjunto de pro-


gramas que permiten el almacenamiento, modificacin y extraccin de la
informacin en una base de datos, lo que permite el almacenamiento,
manipulacin y consulta de datos pertenecientes a una base de datos.
Estos sistemas proporcionan una interfaz que facilita a los usuarios la rea-
lizacin de diferentes actividades sobre los datos. Sin embargo las tareas
de manipulacin de datos se realizan a travs del denominado Lenguaje
Estructurado de consultas (SQL por sus siglas en ingls: Structured
Query Language).

Este lenguaje proporciona la manera de acceder directamente a los datos


no slo a travs de los lenguajes de programacin, sino desde el mismo
SGBD. En este material encontrar las caractersticas principales de este
lenguaje y la sintaxis para construir estructuras y objetos de datos, inser-
tar datos, modificarlos, borrar informacin y la estructura de consulta
bsica.

Lenguaje
estructurado
de consultas

FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


Lenguaje estructurado de consultas SQL

Estructura de contenido

Introduccin 1
Mapa 3
1. Generalidades 4
1.1. Caractersticas 5
1.2. Lenguaje de definicin de datos - DDL 5
1.2.1. Creacin de la Base de Datos 6
1.2.2. Creacin de las tablas 6
1.2.3. Modificaciones a las Tablas 9
1.2.4. Eliminacin de Tablas 10
1.3. Lenguaje de manipulacin de datos - DML 11
1.3.1. Insercin de datos 11
1.3.2. Modificacin de Datos 12
1.3.3. Eliminacin de Registros 13
1.3.4. Consulta de datos 13
1.3.4.1. Alias de columnas 15
1.3.4.2. La clusula WHERE 16
1.3.4.2.1. Predicados Simples 16
1.3.4.2.2. Predicados compuestos 19
1.3.5. Clausula ORDER BY 19
Glosario 21
Bibliografa 22
Crditos 23

2
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
3
Lenguaje Estructurado de Consultas
SQL

dividido en
MAPA CONCEPTUAL

Lenguaje para definir los datos Lenguaje para manipular los datos Lenguaje de control de datos
DDL DML DCL
permite
permite permite

Crear BD Modificar Borrar Insertar Modificar Eliminar Visualizar


y tablas las tablas datos datos Registros Datos Asignar Revocar Denegar
tablas permisos permisos permisos
Manejando usando usando usando usando usando usando usando usando usando usando
Tipos de
Datos CREATE DATABASE CREATE TABLE ALTER TABLE DROP TABLE INSERT UPDATE DELETE select GRANT REVOKE DENY

usan condiciones con clasiulas como

AS Order By
where

FAVA - Formacin en Ambientes Virtuales de Aprendizaje


Lenguaje estructurado de consultas SQL

SENA - Servicio Nacional de Aprendizaje


Lenguaje estructurado de consultas SQL

1. GENERALIDADES

El lenguaje Estructurado de consultas, ms comnmente conocido como


SQL por sus siglas en ingls (Structured Query Language), es el lenguaje
por el cual se puede acceder a las bases de datos relacionales.
Proporciona a travs del uso de instrucciones que se denominan
sentencias, la manera de construir el modelo relacional, consultar datos,
eliminar o agregar nuevos datos, modificar los existentes y en general
actividades de administracin sobre los diferentes objetos que componen
las bases de datos.

Creado en los laboratorios de IBM () en la dcada de los 70, se denomin


inicialmente SEQUEL (Structured English Query Language), el cual se
basaba en la propuesta de modelo relacional proporcionada por Codd,
posteriormente este lenguaje fue liberado y se estandariz como el
lenguaje a ser usado por los diferentes Sistemas de Gestin de Base de
Datos que se crearon.

En 1986 fue estandarizado por el ANSI (American National Estndar


Institute), lo que comnmente se conoce como SQL-86 y
posteriormente adoptado por la ISO.

Con el paso del tiempo ha sufrido la adicin de nuevas caractersticas


relacionadas con la programacin Orientada a Objetos, uso de XML y
diferentes elementos que le han permitido seguir vigente en el
procesamiento de datos, siendo la ms reciente la del 2008.

Leng L
uaje de
deficinicn de datos DD

Leng ML
uaje de
manipulacin de datos D

Lengu
aje de control de datos DCL

4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.1. Caractersticas

El SQL se comporta como un lenguaje de alto nivel, con una estructura


declarativa de sentencias que posee una sintaxis particular y estndar. Se
han clasificado sus instrucciones de acuerdo con su funcionalidad
generando las siguientes categoras:

Lenguaje de definicin de datos


Conocido como DDL por sus siglas en ingls (Data Definition Language),
contienen todas las instrucciones relacionadas con la creacin,
modificacin y eliminacin de objetos de la base de datos, como son la
base de datos, tabla, ndices, vistas, procedimientos, funciones, triggers,
etc.

Lenguaje de manipulacin de datos


Se identifica por las siglas DML (Data Manipulation Language), en la cual
se encuentran las sentencias que permiten manipular los datos a partir de
sentencias de insercin, modificacin, eliminacin y consulta de registros
de datos.

Lenguaje de control de datos


Se identifica por las siglas DCL (Data Control Language), y contiene todas
las sentencias relacionadas con la seguridad de acceso a los datos.

1.2. Lenguaje de definicin de datos - DDL

El lenguaje de definicin de datos puede tener algunas variaciones


respecto al SMBD (Sistema Manejador de Base de Datos) que se utilice
para manipularlo, sin embargo existe una codificacin estndar que nos
permite identificar una serie de caractersticas del lenguaje y las
sentencias utilizadas en l. A continuacin se describe la construccin de
bases de datos, tablas, la modificacin y eliminacin de las mismas.

Leng L
uaje de
deficinicn de datos DD

5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.2.1.Creacin de la Base de Datos

La base de datos es la estructura de almacenamiento principal, la


sentencia que se utiliza para su construccin es CREATE. Su sintaxis y
modo de uso genrico es:

Sintaxis:

CREATE DATABASE <Nombre de la Base de Datos>

Ejemplo

Para crear la base de datos CITAS, la sentencia sera:

create database citas

Una vez que se ha construido la base de datos, se deben construir las


tablas en su interior, es decir que debe estar predefinida o seleccionado
ese espacio de trabajo.

La sentencia que se utiliza para establecer como la base de datos activa


es USE, a continuacin su sintaxis:

USE <Nombre de la Base de Datos>

Ejemplo

Para realizar actividades con los objetos de la base de datos cita,


debemos dejarla como la base de datos activa:

use citas

1.2.2. Creacin de las tablas

Para construir las tablas que conforman las bases de datos, se utiliza la
sentencia CREATE TABLE. Con sta se crea la estructura de la tabla, lo
cual permite definir las columnas que tiene y definir ciertas restricciones
que deben cumplir esas columnas.

Antes de presentar la sentencia es necesario hacer claridad respecto a las


posibles restricciones que se manejan para las columnas de una tabla.

6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

Las restricciones tambin conocidas como constraints representan


caractersticas particulares que tiene una columna y determinan entre
otras, reglas sobre los contenidos, tipos de datos, limites, relacin de la
columna con otras columnas, otros registros de la misma tabla o en otras
tablas.

A continuacin se presenta a manera de resumen las restricciones que se


pueden asignar a las columnas en una tabla, el nivel identifica si afecta a
nivel de registro (fila).

Nivel Constraint Descripcin


Palabra Clave
Registro NOT NULL La columna o campo deber contener
obligatoriamente un valor. Los campos que se
encuentran sin ningn tipo de informacin se
denomina campos nulos y se identifican como NULL
Registro PRIMARY KEY Esta columna es la que identifica en forma nica cada
fila de la tabla, se denomina como clave principal o
llave primaria.
Columna UNIQUE Identifica una columna que no puede tener valores
repetidos en toda la tabla
Registro DEFAULT Permite definir un valor preestablecido para esa
columna, es decir que si no se insertan datos en ese
campo, el sistema almacenar el valor que por
defecto se defini.
Registro CHECK Corresponde a condiciones que se pueden definir
para aceptar o no datos en los campos. Estas reglas
pueden referirse a la misma columna, p.e. (edad > 18)
o a otras columnas de la misma tabla.

Tabla FOREIGN KEY Define la llave fornea de la tabla que puede ser un
campo o una combinacin de ellos y representa el
enlace o relacin con otras tablas. El valor que se
almacena en esta columna debe estar contenido en
otra tabla.

Sintaxis:

CREATE TABLE <Nombre_de_la_tabla> (


<Nombre_de_la_columna1> <tipo de dato>
<Restriccin>,
<Nombre_de_la_columna2> <tipo de dato>
<Restriccin>,
. . .
<Nombre_de_la_columnan> <tipo de dato>
<Restriccin>)

7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

Consideraciones:
Los nombres de la tabla y columnas, deben conservar las mismas
caracterstica de un identificador, es decir, no espacios en blanco, de
preferencia usar los nemotcnicos definidos en la organizacin, nombres
significativos, no iniciar con nmeros, etc.

Los tipos de datos estn directamente relacionados con el SMBD que se


utilice, para los ejemplos que se presentan a continuacin se utilizarn
tipos de datos y expresiones propias de MySql.

Ejemplo

Ya con CITAS como base de datos predeterminada, se procede a crear


las respectivas tablas, para crear la tabla MEDICO, se debe tener
previamente definida la estructura de datos, producto de los procesos de
modelamiento o normalizacin vista anteriormente:

Nombre del Campo Tipo de Dato Long. Modificador


MedIdentificacion Char 10 primary key, not null
MedNombres Varchar 50 not null
MedApellidos Varchar 50 not null

Create table TblMedico (


MedIdentificacion Char(10) Primary Key not null,
MedNombres Varchar (50) not null,
MedApellidos Varchar(50) not null )

Base de Datos

Tabla 1
Campo1 Campo2 Campo3 Campo4

Tabla 2
Campo1 Campo2 Campo3 Campo4

8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.2.3.Modificaciones a las Tablas

El comando utilizado es ALTER TABLE, este comando tiene algunos


atributos que nos permite realizar cambios a una tabla ya creada. Las
posibles modificaciones a realizar son: adicin de nuevas columnas,
eliminacin de columnas, cambio de tipo de dato, adicin de constraints
(restricciones) a las columnas previamente creadas o la eliminacin de
restricciones.

Sin embargo para proceder a incorporar el cambio el SMBD realiza una


serie de verificaciones para que estos cambios no afecten los datos
previamente registrados (si ya existieran) o entren en contravencin con
reglas anteriores. Por ejemplo, para que una columna pueda modificarse
y convertirse en llave primaria, debe tener la restriccin de not null y los
datos (si los hubiese) no podran tener valores repetidos.

En esta sentencia se utilizan expresiones que determinan el tipo de


cambio a incorporar, de la siguiente forma:

ADD (COLUMN o CONSTRAINT): para agregar columnas o


restricciones
DROP (COLUMN o CONSTRAINT): para eliminar columnas o
restricciones
ALTER / MODIFY : para modificar columnas existentes

Sintaxis:
ALTER TABLE <Nombre_de_la_tabla>
ADD (COLUMN) <Nombre_de_la_columna> <tipo de dato>
<Restriccin>
ADD(CONSTRAINT) <Nombre_restriccin> <tipo_restriccin>
<texto_restriccin>
DROP (COLUMN) <Nombre_ de_la_columna>
DROP (CONSTRAINT) <Nombre_de_la_restriccin>

9
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

Ejemplo

Se requiere agregar una columna a la tabla Medico, para almacenar el


registro mdico del doctor, que es un nmero de tipo entero y no puede
repetirse.

Alter table TblMedico


Add Column MedRegistro int

Alter table TblMedico


Add Constraint UNIQUE ( MedRegistro)

1.2.4. Eliminacin de Tablas

La sentencia DROP TABLE permite eliminar una tabla, siempre y cuando


se tengan permisos sobre el objeto, no se encuentre abierta o siendo
accesada por algn usuario o si al eliminarla se infringe alguna regla. El
caso ms comn est relacionado con las llaves forneas, cuando el
contenido de una tabla es referenciada por otra a travs de las llaves
forneas.

Sintaxis:

DROP TABLE <Nombre_de_ la_ tabla>

Ejemplo

Si se deseara eliminar la tabla Medico y no existieran referencias de otras


tablas, la sentencia a utilizar es:

Drop table TblMedico

10
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.3. Lenguaje de manipulacin de datos - DML

Este lenguaje se utiliza para manipular los datos de una base de Datos,
es decir Insertar, Borrar, Modificar y Consultar los registros de las tablas
que conforman una base de Datos.

Las sentencias DML son:

Insert
Update Leng
uaje de ML
Delete manipulacin de datos D
Select

1.3.1. Insercin de datos

La sentencia INSERT se utiliza para agregar los registros a una tabla, es


decir que se agregan filas completas de datos a la tabla, previa a la
insercin se realiza un proceso de verificacin de las restricciones
presentes en cada campo, es decir que si el campo es llave primaria, el
valor a insertar no sea nulo o repetido y as sucesivamente con cada dato
a insertar. La fila siempre es agregada al final de la tabla y el valor de
cada campo debe coincidir con el tipo de dato establecido para cada
columna.

Sintaxis
INSERT INTO <Nombre_de_la_tabla> (<Nombre_columna1>,
<Nombre_columna2> <Nombre_columnaN>) VALUES (valor1, valor2,
valorN)

Ejemplo

En la tabla Medico se va a insertar los datos del doctor Germn


Fernndez, con identificacin 19208547 y registro medico 854632. La
sentencia de insercin sera:

INSERT INTO TblMedico (MedIdentificacion, MedNombres,


MedApellidos, MedRegistro) VALUES (19208547, German,
Fernandez, 854632)

Los datos de tipo alfanumrico, as como las fechas, generalmente se


escriben entre comillas simples o dobles dependiendo del SMBD a usar.

11
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.3.2.Modificacin de Datos

La sentencia UPDATE se utiliza para realizar modificaciones sobre los


datos que se encuentran en los campos de una tabla. El sistema realiza
una validacin de la integridad de los campos, verificando que los nuevos
datos no infrinjan ninguna de las restricciones asociadas a los campos. Se
debe tener especial cuidado en proporcionar adecuadamente la condicin
que determina sobre cual o cuales de los registros deben aplicarse los
cambios.

Sintaxis

UPDATE <Nombre_de_la_tabla>
SET <Nombre_columna a cambiar valor> = <Nuevo_Valor>
WHERE <condicin>

Ejemplo

Se desea modificar la direccin de residencia del mdico Antonio Meja, su


nueva direccin es: avenida de las flores con calle 23. La sentencia de
modificacin de datos entonces sera:

UPDATE TblMedico
SET MedDireccion = avenida de las flores con calle 23

Si se dejara hasta aqu, se modificaran todos las direcciones de los


mdicos, de otro modo al agregar la condicin se especifican los registros
sobre los cuales se debe hacer el cambio.

UPDATE TblMedico
SET MedDireccion = avenida de las flores con calle 23
WHERE MedNombres = Antonio AND MedApellidos = Meja

Ms adelante en este material encontrar los aspectos ms relevantes a


considerar para construir los filtros o condiciones de las sentencias SQL.

12
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.3.3.Eliminacin de Registros

La sentencia DELETE se utiliza para borrar filas de datos de una tabla. El


sistema realiza una validacin de la integridad referencial antes de
ejecutar la accin. As como con la modificacin se debe tener especial
cuidado en proporcionar adecuadamente la condicin que determine cual
o cuales de los registros deben ser borrados.

Sintaxis

DELETE
FROM <Nombre_de_la_tabla>
WHERE <condicin>

Ejemplo

Se desea retirar de la base de datos al mdico German Fernandez, con


registro mdico 854632. La sentencia de modificacin de datos entonces
sera:

DELETE
FROM TblMedico
WHERE MedNombres = German AND MedApellidos = fernandez AND
MedRegistro = 854632

Aunque no es necesario proporcionar todos los datos, se debe asegurar


que la condicin filtra nicamente el o los registros que se desean
eliminar. Se recomienda entonces realizar una consulta previa y utilizar la
misma condicin para filtrarlo posteriormente.

1.3.4.Consulta de datos

Con la sentencia SELECT se visualiza la informacin de la base de Datos.


Los datos que se presentan corresponden a una o ms filas de una tabla
o tambin a una o ms filas de una o ms tablas.

La sintaxis bsica es:

SELECT <Nombre_columna> o <lista de columnas>


FROM <Nombre_de_la_tabla>

13
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

Ejemplo

Se desea consultar los nombres y apellidos de todos los mdicos, la


sentencia para hacer esta consulta sera:

SELECT MedNombres, MedApellidos


FROM TblMedico

Esta instruccin, puede ir acompaada de las siguientes clausulas:

WHERE <condicin>
GROUP BY <Nombre_columna1>,
HAVING <condicin>
ORDER BY <Nombre_columna> <Modo de ordenamiento>

Antes de realizar cualquier consulta a la base de Datos, es muy


importante tener claro cul o cules son los datos que se requiere
visualizar y de que tabla o tablas se van a extraer.

En caso de que se deseara consultar TODOS los campos de la tabla, no es


necesario escribir todos los campos, a menos que se desee escribirlo en
un orden particular, si no es as se utiliza el comodn * (asterisco) que
representa todos los campos.

En el ejemplo anterior se requera solo nombre y apellido, en caso de


desear visualizar todos los campos de una tabla, utilizando el comodn *,
quedara la sentencia de la siguiente manera:

Select * From TblMedico;

14
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.3.4.1. Alias de columnas

Estos alias se utilizan para ayudar a la visualizacin del nombre de las


columnas al momento de generar el resultado de la consulta, estos
nombres son temporales, es decir que slo se reflejan en salida, bien sea
pantalla o impresin, pero no afectan los nombres que los campos tienen
en la tabla. Para asignar el alias a un campo se utiliza la clusula AS
(como)

Una consulta, sin alias es:

Select MedIdentificacion, MedNombres, MedApellidos


From TblMedicos

Vamos ahora a configurar la salida por pantalla a los datos incluidos en la


tabla medicos, La salida debe ser, la columna MedIdentificacion con ttulo
Identificacion; la columna MedNombres, con ttulo Nombre y la columna
MedApellidos con ttulo Apellidos, la sintaxis sera la siguiente:

Select MedIdentificacion as Identificacion,


MedNombres as Nombre ,
MedApellidos as Apellidos
From Tblmedicos

Select sin alias


MedIdentificacion MedNombres MedApellidos

1111111111 Reinaldo Rojas


91290102 Oswaldo Arenas
2 rows in set (0.00 sec)

Select con alias


Identificacion Nombres Apellidos

1111111111 Reinaldo Rojas


91290102 Oswaldo Arenas
2 rows in set (0.03 sec)

MedApellidos, esto se cambi con el uso del alias,


el sistema tiene como palabra reservada para esta
funcin, el trmino AS.

15
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.3.4.2. La clusula WHERE

Esta clusula es muy importante porque se utiliza para generar resultados


basados en condiciones, ya que filtra verticalmente las filas a presentar.

La sintaxis es:

SELECT <Nombre_columna> o <lista de columnas>


FROM <Nombre_de_la_tabla>
WHERE <condicin>

Cuando se van a comparar dos valores se realizan segn las siguientes


reglas:

Solo se pueden comparar dos valores cuando son del mismo tipo.
Todos los datos de tipo numrico pueden ser comparados unos con otros
(por ejemplo un decimal con un entero)
Se pueden comparar dos valores alfanumricos, tomando como
referencia el cdigo de cada uno de los caracteres que conforman la
cadena.

La seleccin de filas se especifica en la clusula WHERE mediante


predicados. Un predicado expresa una condicin y su resultado puede ser
verdadero, falso o desconocido.

1.3.4.2.1. Predicados Simples

Operadores de Comparacin: predicados simples que expresan


condiciones de comparacin entre valores. Se especifican con los signos
que se detallan en la siguiente tabla:

= Igual a
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<> Distinto a
!< No menor que
!> No mayor que

16
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

Comparacin de caracteres: Se utiliza el predicado LIKE. Cuando se


requiere precisar buscar campos que contengan combinaciones de
caracteres que cumplan ciertas condiciones. Para ello se utiliza el
predicado LIKE, segn el siguiente formato:

<Nombre_columna> [NOT] LIKE <constante_alfanumerica>

Donde <Nombre_columna> debe ser de tipo alfanumerico.

La constante alfanumrica puede ser caracteres normales, caracteres con


significado espacial, caracteres comodines o wildcards. La siguiente tabla
presenta los posibles comodines a utilizar:

% Cadena de longitud aleatoria


_ Carcter no nulo (1 Carcter)
[x-y] Carcter en el rango x hasta y
[^x-y] Carcter fuera del rango x hasta y

Ejemplos

Las ciudades que empiecen por S

SELECT FROM
WHERE ciudad LIKE S%

Las referencias que no tengan un 4

SELECT FROM
WHERE referencia LIKE %[^4]%

Las referencias que no tengan un 4, 5 o 6

SELECT FROM
WHERE ciudad LIKE %[4-6]%

17
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

Deteccin de valores nulos: En ocasiones es necesario discriminar las


filas en funcin de si en una de sus celdas existe un valor o no, esto es si
dicha celda contiene un valor nulo.

<Nombre_columna> IS [NOT] NULL

Ejemplo

Listar los clientes a los que no se le haya registrado direccin

SELECT * FROM TblClientes


WHERE direccion IS NULL

Predicado BETWEEN: Sirve para determinar si un valor est


comprendido o no entre otros dos valores, ambos inclusive.

<Nombre_columna> [NOT] BETWEEN <expr1> AND <expr2>

Ejemplo

Los pacientes de estrato 1 al 3

SELECT * FROM TblPacientes


WHERE estrato BETWEEN 1 AND 3

Predicado IN: Sirve para averiguar si el resultado de una expresin est


incluido en la lista de valores especificados.

<Nombre_columna> [NOT] IN ( Constante1, constante2, ....)


<Nombre_columna> [NOT] IN ( Subconsulta )

Ejemplo

Los clientes de Bogot, Tunja, Villavicencio e Ibague.

SELECT * FROM TblClientes


WHERE ciudad IN ( Bogota, Tunja, Villavicencio,
Ibague)

18
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

1.3.4.2.2. Predicados compuestos

Son combinaciones de otros predicados, con los operadores lgicos And,


OR y NOT.

Ejemplo:

Los clientes de Tunja, que NO tengan registrada alguna direccin.

SELECT * FROM TblClientes


WHERE ciudad = Bogota AND direccin IS NULL

1.3.5.Clausula ORDER BY

Esta clusula bsicamente se utiliza para ordenar las filas, este


ordenamiento puede ser de manera ascendente (clusula ASC ) o
descendente (Clusula DESC). Por defecto el ordenamiento es
ascendente, es decir de menor a mayor.

La sintaxis,

SELECT <Nombre_columna> o <lista de columnas>


FROM <Nombre_de_la_tabla>
WHERE <condicin>
ORDER BY <Nombre_columna> o <Nmero de columnas>

Algunos ejemplos de esta clusula pueden ser:

Visualizar el los nombres de los pacientes ordenados alfabticamente

SELECT PacNombres, PacApellidos


FROM Tblpacientes
PacIdentificacin PacNombres
ORDER by PacNombres; PacApellidos PacFechaNacimien

1098765678 Carlos Jose Arias Rojas 1984-06-28


37821200 Carlos Jose Arias Rojas 1970-03-25
37821203 Carolina Rojas Zabala 1970-07-28
63602720 Evelia Arias Mendoza 1980-04-12
63502730 1972-07-15
Mari Fernanda Rodrguez Perez
77191950 1980-04-12
Maria Carolina Rojas Perez
77191957 1980-04-12
Maria Alejandra Torres Caas

19
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

Visualizar los nombres y apellidos de los pacientes ordenados por apellido


alfabticamente

Select PacNombres, PacIdentificacin


PacApellidos PacNombres PacApellidos PacFechaNacimien
From Tblpacientes
1098765678
Order by PacApellidos; Evelia Arias Mendoza 1984-06-28
37821200 Carlos Jose Arias Rojas 1970-03-25
37821203 Carlos Jose Arias Rojas 1970-07-28
63602720 Mari Fernanda Rodrguez Perez 1980-04-12
63502730 1972-07-15
Maria Carolina Rojas Perez
77191950 1980-04-12
Carolina Rojas Zabala
77191957 1980-04-12
Maria Alejandra Torres Caas
7 rows in set (0.00 sec)

Visualizar todos los datos de los pacientes, el reporte debe ordenarse de


mayor a menor por documento de identidad:

Select *
From pacientes
Order by PacIdentificacion asc ;

PacIdentificacin PacNombres PacApellidos PacFechaNacimiento PacNombres

1098765678 Carolina Rojas Zabala 1984-06-28 F


37821200 Evelia Arias Mendoza 1970-03-25 F
37821203 Mari Fernanda Rodrguez Perez 1970-07-28 M
63602720 Maria Carolina Rojas Perez 1980-04-12 M
63502730 1972-07-15 F
Maria Alejandra Torres Caas
77191950 1980-04-12 M
Carlos Jose Arias Rojas
77191957 1980-04-12 M
Carlos Jose Arias Rojas

PacNombres

F
F
M
M
F
M
M

20
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

GLOSARIO

AUTO_INCREMENT: tipo de Modificador que se utiliza para ir incremen-


tando automticamente el valor en cada registro.

DDL: Lenguaje de Definicin de Datos.

ENUM: Campos cuyo contenido formen parte de una serie de opciones.

MySQL: motor de Bases de Datos libre, gratuito que est disponible para
varios sistemas operativos.

NOT NULL: Tipo de identificador utilizado para impide que un campo sea
vaco.
10
PRIMARY KEY: TipoFAVAde- Formacin
identificador que
en Ambientes hacedeque
Virtuales el campoSENA
Aprendizaje se -considere
Servicio Nacional de Aprendizaje
la llave primaria de la tabla.

S.Q.L: Structured Query Language - Lenguaje de Consulta Estructurado.

SGBD: Conjunto de programas que permiten el almacenamiento, modifi-


cacin y extraccin de la informacin en una base de datos.

UNIQUE: Tipo de identificador que evita la repeticin de valores.

USE: Palabra utilizada para establecer una base de datos, como base de
datos predefinida.

21
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

BIBLIOGRAFA

Beaulieu, A. (2010). Aprende SQL. Segunda Edicin. Grupo Anaya


Comercial.

Ojeda, F. C. (s.f.). SQL. Anaya Multimedia-Anaya Interactiva.

922
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Lenguaje estructurado de consultas SQL

CREDITOS

Control de documento
Construccin Objeto de Aprendizaje
Lenguaje de cosulta de datos SQL

Desarrollador de contenido Magda Milena Garca Gamboa


Experto temtico Ana Yaqueline Chavarro Parra

Asesor pedaggico Claudia Milena Hernndez Naranjo

Carlos Alberto Espinosa Gmez


Produccin multimedia
Victor Hugo Tabares Carreo

Programador Daniel Martnez

Lder expertos temticos Ana Yaqueline Chavarro Parra

Lder lnea de produccin Santiago Lozada Garcs

23
FAVA - Formacin en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

Você também pode gostar