Sie sind auf Seite 1von 7

INSTITUCIÓN UNIVERSITARIA ANTONIO JOSÉ CAMACHO

FACULTAD DE INGENIERÍA
PROGRAMA: ASIGNATURA:
GUÍA No.2
TECNOLOGÍA EN SISTEMAS BASE DATOS 1
SELECT tabla única: CLÁUSULAS DISTINCT Y WHERE

OBJETIVOS

1. Usar sentencias de consulta de tabla única sin condiciones y columnas de tabla


2. Usar sentencias de consulta de tabla única sin condiciones y columnas calculadas
3. Usar sentencias de consulta de tabla única sin condiciones y cláusula DISTINCT
4. Usar sentencias de consulta de tabla única sin condiciones y funciones de grupo
5. Usar sentencias de consulta de tabla única condicionadas

Parte 2: Consultas condicionadas


Se utiliza para especificar las filas que se desean recuperar. Esta cláusula consta de la palabra
where seguida de una condición de búsqueda. Las filas que satisfacen la condición de búsqueda
forman parte de los resultados de la consulta. Por cada fila, la condición de búsqueda puede
producir uno de tres resultados:
i. Si la condición de búsqueda es TRUE (CIERTA), la fila se incluye en los resultados de la
consulta.
ii. Si la condición de búsqueda es FALSE (FALSA), la fila se excluye de los resultados de la
consulta.
iii. Si la condición de búsqueda tiene un valor NULL (DESCONOCIDO), la fila se excluye de
los resultados de la consulta.

Condiciones de búsqueda. Se manejan las condiciones de búsqueda a través de los test de


comparación, rango, conjunto, patrón y valor nulo.

a) Test de comparación
Este tipo de test calcula y compara los valores de dos expresiones por cada fila de datos, a través
de los operadores de comparación ( =, < >, <, <=, >, >= ) y devuelve aquellas filas donde el
resultado sea verdadero - TRUE. Las expresiones pueden ser un nombre de columna, una
constante o expresiones aritméticas.

Cuando SQL compara los valores de dos expresiones en el test de comparación, se pueden
producir tres resultados:
 Si la comparación es cierta, el test produce un resultado TRUE.
 Si la comparación es falsa, el test produce un resultado FALSE.
 Si alguna de las dos expresiones produce un valor NULL, la comparación genera un resultado
NULL.

Ejemplo:
1. Seleccione para cada uno de los pacientes con direccion REFUGIO su identificación, nombres
y apellidos.
SELECT identificación, nombres, apellidos FROM Pacientes
WHERE direccion = ‘REFUGIO’;
Institución Universitaria Antonio José Camacho Facultad de Ingeniería: Tecnología en Sistemas
Base de Datos 1 – Práctica. Guía No.2 (01.Ag.08) Ing. Sandra Lucía Guañarita Fernández

2. Seleccionar los mismos datos del numeral anterior para el paciente con identificacion 11.
SELECT identificación, nombres, apellidos FROM Pacientes
WHERE identificacion = 11;

3. Seleccionar los mismos datos del numeral anterior para el paciente con fecha de nacimiento abril
28 de 1988.
SELECT identificación, nombres, apellidos FROM Pacientes
WHERE fecha_nacim = ‘27/04/88’;

4. Seleccionar los mismos datos del numeral anterior para el paciente con fecha de nacimiento
diferente a abril 28 de 1988.
SELECT identificación, nombres, apellidos FROM Pacientes
WHERE fecha_nacim <> ‘27/04/88’;

b) Test de Rango
El test de rango comprueba si un valor de dato se encuentra entre dos valores especificados,
incluyendo los dos puntos extremos. Implica el uso de tres expresiones SQL, donde la primera
expresión define el valor a comprobar y las otras expresiones definen los extremos superior e
inferior del rango a comprobar. Los tipos de datos de las tres expresiones deben ser comparables.

DIAGRAMA SINTACTICO DEL TEST DE RANGO

expresión de test BETWEEN expresión - inf AND expresión - sup


NOT

La expresión de test especificada en el test BETWEEN puede ser cualquier expresión SQL válida,
pero en la práctica generalmente es un nombre de columna.

En el caso de BETWEEN devuelve como resultado los datos que se encuentran en el rango
especificado por los extremos (incluyendo los extremos). Cuando el test es NOT BETWEEN
devuelve como resultado los datos que no se encuentran en el rango especificado o sean
diferentes a cualquiera de los extremos.

Ejemplo:

2
Institución Universitaria Antonio José Camacho Facultad de Ingeniería: Tecnología en Sistemas
Base de Datos 1 – Práctica. Guía No.2 (01.Ag.08) Ing. Sandra Lucía Guañarita Fernández

(1) Seleccione identificación, nombres y apellidos de los pacientes cuya identificación está
comprendida entre 9 y 11.
SELECT identificación, nombres, apellidos FROM Pacientes
WHERE identificacion BETWEEN 9 AND 11;

(2) Seleccione identificación, nombres y apellidos de los pacientes cuya identificación no está
comprendida entre 9 y 11.
SELECT identificación, nombres, apellidos FROM Pacientes
WHERE identificacion NOT BETWEEN 9 AND 11;

c) Test de pertenencia a conjunto


Examina si un valor de dato coincide (o no ) con uno de una lista de valores especificada. Se
deben tener en cuenta las siguientes consideraciones:

 Si la expresión del test produce un valor NULL, el test IN devuelve NULL.

 Todos los elementos en la lista de valores deben tener el mismo tipo de datos, y ese tipo debe
ser comparable al tipo de dato de la expresión de test.

 El test IN puede expresarse mediante test de comparación, utilizando dos test de comparación
unidos mediante el operador lógico or.

Ejemplo:

(1) Seleccione identificación, nombres y apellidos de los pacientes cuya identificación sea 9,11 ó 13
SELECT identificacion, nombres, apellidos FROM Pacientes
WHERE identificacion IN (9,11,13);
(2) Seleccione identificación, nombres y apellidos de los pacientes cuya identificación no sea 9,11 ó
13
SELECT identificacion, nombres, apellidos FROM Pacientes
WHERE identificacion NOT IN (9,11,13);
(3) Seleccione la información de la tabla consultorios para aquellos cuyo nro_consultorio sea 1, 2 ó
8.
SELECT * FROM Consultorios
WHERE nro_consultorio IN (1,2,8);

3
Institución Universitaria Antonio José Camacho Facultad de Ingeniería: Tecnología en Sistemas
Base de Datos 1 – Práctica. Guía No.2 (01.Ag.08) Ing. Sandra Lucía Guañarita Fernández

(4) Seleccione la información de la tabla consultorios para aquellos cuyo nro_consultorio no sea 1,
2 ó 8.
SELECT * FROM Consultorios
WHERE nro_consultorio NOT IN (1,2,8);

D) Test de correspondencia con patrón


Se utiliza cuando se necesita recuperar datos con base en una correspondencia parcial del
contenido de una columna. Este test comprueba si el valor de dato de una columna se ajusta a un
patrón especificado, mediante la comparación del contenido de la columna con el patrón.

El patrón es una cadena que puede incluir uno o más caracteres comodines, los cuales se
interpretan de una manera especial. El carácter comodín signo de porcentaje (%) corresponde
a cualquier secuencia de cero o más caracteres, el carácter comodín subrayado (_)
corresponde a cualquier carácter simple. Los caracteres comodines pueden aparecer en
cualquier lugar de la cadena patrón, y pueden haber varios caracteres comodines dentro de una
misma cadena.

Se puede localizar cadenas que no se ajusten a un patrón utilizando el formato not like del test de
correspondencia de patron. El test like debe aplicarse a una columna con un tipo de datos cadena.
Si el valor del dato en la columna es NULL, el test LIKE devuelve un resultado NULL.

Ejemplo:

(1) Seleccione para cada uno de los médicos con apellidos iniciados en P los siguientes datos:
nombres, apellidos, teléfono.
SELECT nombres, apellidos, teléfono
FROM Medicos
WHERE apellidos LIKE ‘P%’;

(2) ) Seleccione para cada uno de los médicos con apellidos no iniciados en P los siguientes datos:
nombres, apellidos, teléfono.
SELECT nombres, apellidos, teléfono
FROM Medicos
WHERE apellidos NOT LIKE ‘P%’;

4
Institución Universitaria Antonio José Camacho Facultad de Ingeniería: Tecnología en Sistemas
Base de Datos 1 – Práctica. Guía No.2 (01.Ag.08) Ing. Sandra Lucía Guañarita Fernández

(3) Seleccione para cada uno de los médicos con apellidos iniciados en ‘P’ y terminados en ‘a’ los
siguientes datos: nombres, apellidos, teléfono.
SELEC nombres, apellidos, teléfono
FROM Medicos
WHERE apellidos LIKE ‘P%a’;

e) Test de valor nulo


Utilizado para comprobar explícitamente los valores NULL en una condición de búsqueda y
manejarlos directamente. La forma negada del valor nulo (IS NOT NULL) encuentra las filas que
no contienen un valor NULL.

A diferencia de las demás condiciones de búsqueda, el test de valor nulo no puede producir un
resultado NULL; será siempre TRUE o FALSE.

En un test de comparación la palabra NULL no puede ser utilizada como una cadena ya que no es
realmente un valor; es un indicador de que el valor es desconocido.

Ejemplo:
(1) Seleccione para cada uno de los médicos con apellidos no nulos los siguientes datos: nombres,
apellidos, teléfono.
SELECT nombres, apellidos, teléfono
FROM Medicos
WHERE apellidos IS NOT NULL;

(2) Seleccione para cada uno de los médicos con teléfono celular nulo los siguientes datos:
nombres, apellidos, teléfono.
SELEC nombres, apellidos, teléfono
FROM Medicos
WHERE telef_celular IS NULL;

f) Condiciones de búsqueda compuesta

Se manejan las condiciones de búsqueda a través de combinaciones de condiciones


simples utilizando los operadores lógicos AND, OR.

La palabra OR se utiliza para combinar las condiciones de búsqueda cuando una o la otra
(o ambas) pueden ser ciertas, mientras la palabra AND se utiliza para combinar dos
condiciones de búsqueda que deban ser ciertas simultáneamente. Igualmente se puede
utilizar la palabra clave NOT para seleccionar filas en donde la condición de búsqueda es
falsa.

5
Institución Universitaria Antonio José Camacho Facultad de Ingeniería: Tecnología en Sistemas
Base de Datos 1 – Práctica. Guía No.2 (01.Ag.08) Ing. Sandra Lucía Guañarita Fernández

Ejemplos:

(1) Seleccione identificación, nombres y apellidos de los pacientes cuya identificación sea 9,10 ó 11
SELECT identificacion, nombres, apellidos FROM Pacientes
WHERE identificacion = 9 OR identificacion = 10 OR identificacion = 11;

(2) Seleccione identificación, nombres y apellidos de los pacientes cuya identificación está
comprendida entre 9 y 11.
SELECT identificación, nombres, apellidos FROM Pacientes
WHERE identificacion identificacion >= 9 AND identificacion <= 11;

(3) Seleccione nombres, apellidos y teléfono de los médicos cuya identificación sea 11 y número de
consultorio 1.

(4) Seleccione identificación, nombres y apellidos de los médicos cuya identificación sea mayor o
igual a 1 y menor o igual a 10 o cuyo apellido inicie en P.

También puede escribirse como:

6
Institución Universitaria Antonio José Camacho Facultad de Ingeniería: Tecnología en Sistemas
Base de Datos 1 – Práctica. Guía No.2 (01.Ag.08) Ing. Sandra Lucía Guañarita Fernández

Das könnte Ihnen auch gefallen