0% encontró este documento útil (0 votos)
41 vistas27 páginas

SQL BdI

Este documento describe comandos y cláusulas SQL para manipular y consultar bases de datos. Explica comandos DDL para definir objetos de base de datos, comandos DML para manipular datos, y cláusulas como SELECT, WHERE y ORDER BY para consultas. También define operadores lógicos, funciones y predicados utilizados en consultas SQL.

Cargado por

Mary Araiza
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
41 vistas27 páginas

SQL BdI

Este documento describe comandos y cláusulas SQL para manipular y consultar bases de datos. Explica comandos DDL para definir objetos de base de datos, comandos DML para manipular datos, y cláusulas como SELECT, WHERE y ORDER BY para consultas. También define operadores lógicos, funciones y predicados utilizados en consultas SQL.

Cargado por

Mary Araiza
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

Comandos DDL

Comando Descripción

Utilizado para crear nuevas tablas,


CREATE
campos e índices

Empleado para eliminar tablas e


DROP
índices

Utilizado para modificar las tablas


ALTER agregando campos o cambiando la
definición de los campos.
Comandos DML

Comando Descripción

Utilizado para consultar registros de


SELECT la base de datos que satisfagan un
criterio determinado

Utilizado para cargar lotes de datos


INSERT en la base de datos en una única
operación.
Utilizado para modificar los valores
UPDATE de los campos y registros
especificados

Utilizado para eliminar registros de


DELETE
una tabla de una base de datos
Cláusula Descripción

Utilizada para especificar la tabla de


FROM la cual se van a seleccionar los
registros

Utilizada para especificar las


WHERE condiciones que deben reunir los
registros que se van a seleccionar

Utilizada para separar los registros


GROUP BY
seleccionados en grupos específicos

Utilizada para expresar la condición


HAVING
que debe satisfacer cada grupo
Utilizada para ordenar los registros
ORDER BY seleccionados de acuerdo con un
orden específico
Operador Uso

Es el "y" lógico. Evalua dos


AND condiciones y devuelve un valor de
verdad sólo si ambas son ciertas.

Es el "o" lógico. Evalúa dos


OR condiciones y devuelve un valor de
verdar si alguna de las dos es cierta.

Negación lógica. Devuelve el valor


NOT
contrario de la expresión.
Operador Uso

< Menor que

> Mayor que

<> Distinto de

<= Menor ó Igual que

>= Mayor ó Igual que

= Igual que

Utilizado para especificar un


BETWEEN
intervalo de valores.
Utilizado en la comparación de un
LIKE
modelo
Utilizado para especificar registros
In de una base de datos 
Función Descripción

Utilizada para calcular el promedio


AVG de los valores de un campo
determinado 

Utilizada para devolver el número de


COUNT
registros de la selección 

Utilizada para devolver la suma de


SUM todos los valores de un campo
determinado 

Utilizada para devolver el valor más


MAX
alto de un campo especificado 

Utilizada para devolver el valor más


MIN
bajo de un campo especificado 
 Las consultas de selección se utilizan para
indicar al motor de datos que devuelva
información de las bases de datos, esta
información es devuelta en forma de conjunto
de registros que se pueden almacenar en un
objeto recordset. Este conjunto de registros
es modificable.
 La sintaxis básica de una consulta de selección es
la siguiente:
        SELECT Campos FROM Tabla
 En donde campos es la lista de campos que se
deseen recuperar y tabla es el origen de los
mismos, por ejemplo:
.

       SELECT Nombre, Teléfono


FROM Clientes
 Esta consulta devuelve un recordset con el campo
nombre y teléfono de la tabla clientes
 Adicionalmente se puede especificar el orden en que se
desean recuperar los registros de las tablas mediante la
cláusula se puede especificar el orden en que se desean
recuperar los registros de las tablas mediante la cláusula
ORDER BY Lista de Campos. En donde Lista de campos
representa los campos a ordenar. Ejemplo:

   SELECT CodigoPostal, Nombre, Telefono


FROM Clientes
ORDER BY Nombre;
 Esta consulta devuelve los campos CodigoPostal, Nombre,
Teléfono de la tabla Clientes ordenados por el campo
Nombre.
 Se pueden ordenar los registros por mas de un
campo, como por ejemplo:
        SELECT CodigoPostal, Nombre, Teléfono
FROM Clientes
ORDER BY  CodigoPostal, Nombre
 Incluso se puede especificar el orden de los
registros: ascendente mediante la claúsula (ASC -se
toma este valor por defecto) ó descendente (DESC)
        SELECT CodigoPostal, Nombre, Telefono
FROM Clientes
ORDER BY
        CodigoPostal DESC , Nombre ASC
Predicado Descripción

Devuelve todos los campos de la


ALL
tabla

Devuelve un determinado número de


TOP
registros de la tabla

Omite los registros cuyos campos


DISTINCT
seleccionados coincidan totalmente

Omite los registros duplicados


basandose en la totalidad del
DISTINCTROW
registro y no sólo en los campos
seleccionados.
 Si no se incluye ninguno de los predicados se
asume ALL. El Motor de base de datos  selecciona
todos los registros que cumplen las condiciones de
la instrucción SQL. No es conveniente abusar de
este predicado ya que obligamos al motor de la
base de datos a analizar la estructura de la tabla
para averiguar los campos que contiene, es mucho
más rápido indicar el listado de campos deseados.
     SELECT ALL FROM Empleados
    SELECT * FROM Empleados
 Devuelve un cierto número de registros que
entran entre al principio o al final de un
rango especificado por una cláusula ORDER
BY. Supongamos que queremos recuperar
los nombres de los 25 primeros estudiantes
del curso 1994:
     SELECT TOP 25 Nombre, Apellido FROM

Estudiantes
    ORDER BY Nota DESC
 Si no se incluye la cláusula ORDER BY, la consulta
devolverá un conjunto arbitrario de 25 registros de
la tabla Estudiantes .El predicado TOP no elige
entre valores iguales. En el ejemplo anterior, si la
nota media número 25 y la 26 son iguales, la
consulta devolverá 26 registros. Se puede utilizar la
palabra reservada PERCENT para devolver un cierto
porcentaje de registros que caen al principio o al
final de un rango especificado por la cláusula
ORDER BY. Supongamos que en lugar de los 25
primeros estudiantes deseamos el 10 por ciento
del curso:
     SELECT TOP 10 PERCENT Nombre, Apellido FROM
Estudiantes
    ORDER BY Nota DESC
 El valor que va a continuación de TOP debe ser un
Integer sin signo.TOP no afecta a la posible
actualización de la consulta.
 Omite los registros que contienen datos duplicados en los
campos seleccionados. Para que los valores de cada campo
listado en la instrucción SELECT se incluyan en la consulta
deben ser únicos.
Si dos registros contienen López en el campo Apellido, la
siguiente instrucción SQL devuelve un único registro:

    SELECT DISTINCT Apellido FROM Empleados

 Con otras palabras el predicado DISTINCT devuelve aquellos


registros cuyos campos indicados en la cláusula SELECT
posean un contenido diferente. El resultado de una consulta
que utiliza DISTINCT no es actualizable y no refleja los
cambios subsiguientes realizados por otros usuarios.
 Devuelve los registros diferentes de una tabla; a diferencia
del predicado anterior que sólo se fijaba en el contenido de
los campos seleccionados, éste lo hace en el contenido del
registro completo independientemente de los campo
indicados en la cláusula SELECT.
 
    SELECT DISTINCTROW Apellido FROM Empleados

 Si la tabla empleados contiene dos registros: Antonio López y


Marta López el ejemplo del predicado DISTINCT devuleve un
único registro con el valor López en el campo Apellido ya que
busca no duplicados en dicho campo.
 Este último ejemplo devuelve dos registros con el valor López
en el apellido ya que se buscan no duplicados en el registro
completo.
 En determinadas circunstancias es necesario asignar un
nombre a alguna columna determinada de un conjunto
devuelto, otras veces por simple capricho o por otras
circunstancias. Para resolver todas ellas tenemos la palabra
reservada AS que se encarga de asignar el nombre que
deseamos a la columna deseada. Tomado como referencia el
ejemplo anterior podemos hacer que la columna devuelta por
la consulta, en lugar de llamarse apellido (igual que el campo
devuelto) se llame Empleado. En este caso procederíamos de
la siguiente forma:

    SELECT DISTINCTROW Apellido AS Empleado


FROM Empleados
 Los operadores lógicos soportados por SQL son: AND, OR,
XOR, Is y Not. A excepción de los dos últimos todos poseen la
siguiente sintaxis:
    <expresión1>    operador    <expresión2>
En donde expresión1 y expresión2 son las condiciones a
evaluar, el resultado de la operación varía en función del
operador lógico.

SELECT * FROM Empleados WHERE Edad > 25 AND Edad < 50


SELECT * FROM Empleados WHERE (Edad > 25 AND Edad < 50) OR
Sueldo = 100
SELECT * FROM Empleados WHERE NOT Estado = 'Soltero‘
SELECT * FROM Empleados WHERE (Sueldo > 100 AND Sueldo < 500)
OR   (Provincia = 'Madrid' AND Estado = 'Casado')
Para indicar que deseamos recuperar los registros según el
intervalo de valores de un campo emplearemos el operador
Between cuya sintaxis es:
    campo [Not] Between valor1 And valor2 (la condición Not es
opcional)
En este caso la consulta devolvería los registros que contengan
en "campo" un valor incluido en el intervalo valor1, valor2
(ambos inclusive). Si anteponemos la condición Not devolverá
aquellos valores no incluidos en el intervalo.

    SELECT * FROM Pedidos WHERE CodPostal Between 28000


And 28999

    (Devuelve los pedidos realizados en las provincias cuyo


código postal esta entre 28000 y 28999)
 Se utiliza para comparar una expresión de cadena
con un modelo en una expresión SQL. Su sintaxis
es:
     expresión Like modelo
 En donde expresión es una cadena modelo o
campo contra el que se compara expresión. Se
puede utilizar el operador Like para encontrar
valores en los campos que coincidan con el modelo
especificado. Por modelo puede especificar un
valor completo (Ana María), o se pueden utilizar
caracteres comodín como los reconocidos por el
sistema operativo para encontrar un rango de
valores (Like An*).
 El ejemplo siguiente devuelve los datos que
comienzan con la letra P seguido de
cualquier letra entre A y F y de tres dígitos:
     Like 'P[A-F]###'
 Este ejemplo devuelve los campos cuyo

contenido empiece con una letra de la A a la


D seguidas de cualquier cadena.
     Like '[A-D]*'
Tipo de
Modelo Planteado Coincide No coincide
coincidencia
Varios 'aa', 'aBa',
'a*a' 'aBC'
caracteres 'aBBBa'

Carácter especial  'a[*]a' 'a*a' 'aaa'

Varios
'ab*' 'abcdefg', 'abc' 'cab', 'aab'
caracteres
'aaa', 'a3a',
Un solo carácter 'a?a' 'aBBBa'
'aBa'

Un solo dígito 'a#a' 'a0a', 'a1a', 'a2a' 'aaa', 'a10a'

Rango de
'[a-z]' 'f', 'p', 'j' '2', '&'
caracteres
Fuera de un
'[!a-z]' '9', '&', '%' 'b', 'a'
rango
Distinto de un
'[!0-9]' 'A', 'a', '&', '~' '0', '1', '9'
dígito
 Este operador devuelve aquellos registros
cuyo campo indicado coincide con alguno
de los en una lista. Su sintaxis es:
    expresión [Not] In(valor1, valor2, . . .)

    SELECT *
FROM Pedidos
WHERE Provincia In ('Madrid', Barcelona',
'Sevilla')
 La cláusula WHERE puede usarse para determinar qué
registros de las tablas enumeradas en la cláusula FROM
aparecerán en los resultados de la instrucción SELECT.
 Si no se emplea esta cláusula, la consulta devolverá todas las
filas de la tabla. WHERE es opcional, pero cuando aparece
debe ir a continuación de FROM.
    SELECT Apellidos, Salario FROM Empleados WHERE Salario >
21000
    SELECT Id_Producto, Existencias FROM Productos
    WHERE Existencias <= Nuevo_Pedido;
    SELECT * FROM Pedidos WHERE Fecha_Envio = #5/10/94#
    SELECT Apellidos, Nombre FROM Empleados WHERE
Apellidos = 'King'
PACIENTE (CódigoPaciente, nombre, apellidos, dirección, población,
provincia, códigopostal).
INGRESO (código, número_habitación, número_cama, fecha_ingreso,
código_paciente, código_médico).
código_médico
MEDICO (Código_Médico, nombre, apellidos, teléfono, especialidad)
 Traer A pantalla Nombre y Apellidos en un campo llamado Nom_Completo, Teléfono de todos los
pacientes atendidos en la especialidad “Cardiología”
 Traer a pantalla Nombre del paciente, código del paciente, código del médico y habitación de todos
aquellos pacientes que están entre las camas 300 y 550 y además el paciente de la cama 605.
 Traer a pantalla No _ ingreso, Habitación y Fecha _ ingreso de los pacientes cuyo nombre inicie con las
letras de la F a la I.
 Traer a pantalla el Nombre y Edad aproximada de cada uno de los pacientes del centro médico.
 Traer a pantalla el número de pacientes atendidos por el Médico Rodolfo Reyes.
 Traer el paciente cuyo ingreso al hospital es el más reciente
 Traer a impresión un listado de los pacientes cuyo código postal esta en 64000 y 64460 y su apellido
paterno incluye por lo menos una R
 Traer a pantalla todos los médicos cuyo apellido paterno inicie con la letra S y termine con la letra S
 Determinar cuantos días han transcurrido entre el día de ingreso al hospital y el día de hoy de la paciente
Mariana Sánchez Ruiz.
 Determinar cuantos días han transcurrido al día de ayer desde que ingresaron al hospital todos los
pacientes cuya cama inicia con un 3 o con un 5.
 Traer a pantalla todos los pacientes que cumplen años al día de hoy.
 Traer a pantalla los médicos cuya especialidad sea Pediatría, Cardiología o Ginecología.
 Traer a pantalla los pacientes cuyo ingreso este entre el 100 y el 200 inclusive y que su medico sea Pedro
Ortiz Mellado.
 Determinar el numero de pacientes hospitalizados
 Determinar el numero de médicos por especialidad
 Insertar un nuevo paciente llamado Luis Reta Núñez cuya dirección es Roma 2203, Guadalupe, 64400, su
teléfono es 83300456 y su fecha de nacimiento es 23 de Febrero de 1983 (suponer que se le asignará el
no. 234)
 Numero de pacientes que son atendidos por la especialidad Cardiología
 Mostrar los nombres completos de los pacientes cuya fecha de ingreso es 03 de Febrero del 2006.
 Todos los pacientes cuya población sea “Santa Catarina”
 Nombre de los pacientes con el nombre del medico que le atiende y la especialidad del mismo.

También podría gustarte