PDF de programación - Unidad 4: SQL (II) DQL. Select

Imágen de pdf Unidad 4: SQL (II) DQL. Select

Unidad 4: SQL (II) DQL. Selectgráfica de visualizaciones

Actualizado el 15 de Diciembre del 2018 (Publicado el 24 de Noviembre del 2018)
1.357 visualizaciones desde el 24 de Noviembre del 2018
1,1 MB
38 paginas
Creado hace 15a (01/12/2008)
Para ver una copia completa de la licencia, acudir a la dirección
http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es



(3)



(4)

Lenguaje SQL (I)

Consultas

esquema de la unidad

(4.1.1) capacidades
(4.1.2) sintaxis sencilla del comando SELECT

(4.2.1) aritméticos
(4.2.2) concatenación de textos

(4.3.1) operadores de comparación
(4.3.2) valores lógicos
(4.3.3) BETWEEN
(4.3.4) IN
(4.3.5) LIKE
(4.3.6) IS NULL
(4.3.7) precedencia de operadores

(4.5.1) funciones
(4.5.2) funciones numéricas
(4.5.3) funciones de caracteres
(4.5.4) funciones de trabajo con nulos
(4.5.5) funciones de fecha y manejo de fechas
(4.5.6) funciones de conversión
(4.5.7) función DECODE

(4.1) consultas de datos con SQL. DQL ________________________________________________________________ 6
6
6
(4.2) cálculos _______________________________________________________________________________________ 7
7
7
(4.3) condiciones ____________________________________________________________________________________ 8
8
9
9
10
10
10
11
(4.4) ordenación ____________________________________________________________________________________ 11
(4.5) funciones _____________________________________________________________________________________ 12
12
13
14
16
17
19
22
(4.6) obtener datos de múltiples tablas ______________________________________________________________ 23
23
23
24
25
(4.7) agrupaciones _________________________________________________________________________________ 27
28
29
(4.8) subconsultas __________________________________________________________________________________ 30
30
32
(4.9) combinaciones especiales ______________________________________________________________________ 33
33
33
33
(4.10) DQL en instrucciones DML ____________________________________________________________________ 34
34
35
35
(4.11) vistas ________________________________________________________________________________________ 36
36
36
37
38

(4.6.1) producto cruzado o cartesiano de tablas
(4.6.2) asociando tablas
(4.6.3) relaciones sin igualdad
(4.6.4) sintaxis SQL 1999

(4.7.1) funciones de cálculo con grupos
(4.7.2) condiciones HAVING

(4.8.1) uso de subconsultas simples
(4.8.2) uso de subconsultas de múltiples filas

(4.9.1) uniones
(4.9.2) intersecciones
(4.9.3) diferencia

(4.10.1) relleno de registros a partir de filas de una consulta
(4.10.2) subconsultas en la instrucción UPDATE
(4.10.3) subconsultas en la instrucción DELETE

(4.11.1) introducción
(4.11.2) creación de vistas
(4.11.3) mostrar la lista de vistas
(4.11.4) borrar vistas

(5)

sistemas gestores de bases de datos

(Unidad 4) lenguaje SQL (II). Consultas



(4.1) consultas de datos con SQL. DQL

(4.1.1) capacidades

DQL es la abreviatura del Data Query Language (lenguaje de consulta de datos)
de SQL. El único comando que pertenece a este lenguaje es el versátil comando
SELECT Este comando permite:

 Obtener datos de ciertas columnas de una tabla (proyección)
 Obtener registros (filas) de una tabla de acuerdo con ciertos criterios

(selección)

 Mezclar datos de tablas diferentes (asociación, join)

 Realizar cálculos sobre los datos
 Agrupar datos

(4.1.2) sintaxis sencilla del comando SELECT

SELECT * | {[DISTINCT] columna | expresión [[AS] alias], ...}
FROM tabla;

Donde:

 *. El asterisco significa que se seleccionan todas las columnas
 DISTINCT. Hace que no se muestren los valores duplicados.

 columna. Es el nombre de una columna de la tabla que se desea mostrar
 expresión. Una expresión válida SQL
 alias. Es un nombre que se le da a la cabecera de la columna en el

resultado de esta instrucción.

Ejemplos:

/* Selección de todos los registros de la tabla clientes */
SELECT * FROM Clientes;
/* Selección de algunos campos*/
SELECT nombre, apellido1, apellido2 FROM Clientes;



(6)



2º curso de administración de sistemas informáticos
autor: Jorge Sánchez – www.jorgesanchez.net

(4.2) cálculos

(4.2.1) aritméticos

Los operadores + (suma), - (resta), * (multiplicación) y / (división), se pueden
utilizar para hacer cálculos en las consultas. Cuando se utilizan como expresión
en una consulta SELECT, no modifican los datos originales sino que como
resultado de la vista generada por SELECT, aparece un nueva columna. Ejemplo:

SELECT nombre, precio,precio*1.16 FROM articulos;

Esa consulta obtiene tres columnas. La tercera tendrá como nombre la expresión
utilizada, para poner un alias basta utilizar dicho alias tras la expresión:

SELECT nombre, precio, precio*1.16 AS precio_con_iva
FROM articulos;

La prioridad de esos operadores es la normal: tienen más prioridad la
multiplicación y división, después la suma y la resta. En caso de igualdad de
prioridad, se realiza primero la operación que esté más a la izquierda. Como es
lógico se puede evitar cumplir esa prioridad usando paréntesis; el interior de los
paréntesis es lo que se ejecuta primero.

Cuando una expresión aritmética se calcula sobre valores NULL, el resultado

es el propio valor NULL.

Se puede utilizar cualquiera de los operadores aritméticos: suma (+), resta (-
), multiplicación (*), división (/). Como es habitual, la multiplicación y la división
tienen preferencia sobre la suma y la resta en el orden de ejecución de la
instrucción; dicho orden se puede alterar mediante el uso de los paréntesis.

(4.2.2) concatenación de textos

Todas las bases de datos incluyen algún operador para encadenar textos. En
SQLSERVER es el signo + en Oracle son los signos ||. Ejemplo (Oracle):

SELECT tipo, modelo, tipo || '-' || modelo "Clave Pieza"
FROM piezas;



(7)

sistemas gestores de bases de datos

(Unidad 4) lenguaje SQL (II). Consultas

El resultado sería:



TIPO

MODELO Clave Pieza

AR

AR

AR

AR

AR

AR

AR

AR

BI

BI

BI

BI

6

7

8

9

12

15

20

21

10

20

22

24

AR-6

AR-7

AR-8

AR-9

AR-12

AR-15

AR-20

AR-21

BI-10

BI-20

BI-22

BI-24

En la mayoría de bases de datos, la función CONCAT (se describe más adelante)
realiza la misma función.

(4.3) condiciones

Se pueden realizar consultas que restrinjan los datos de salida de las tablas. Para
ello se utiliza la cláusula WHERE. Esta cláusula permite colocar una condición
que han de cumplir todos los registros, los que no la cumplan no aparecen en el
resultado.

Ejemplo:

SELECT Tipo, Modelo FROM Pieza WHERE Precio>3;

(4.3.1) operadores de comparación

Se pueden utilizar en la cláusula WHERE, son:

Operador

Significado

>

<

>=

<=

Mayor que

Menor que

Mayor o igual que

Menor o igual que

(8)



2º curso de administración de sistemas informáticos
autor: Jorge Sánchez – www.jorgesanchez.net

Operador

Significado

=

<>

!=

Igual

Distinto

Distinto

Se pueden utilizar tanto para comparar números como para comparar textos y
fechas. En el caso de los textos, las comparaciones se hacen en orden alfabético.
Sólo que es un orden alfabético estricto. Es decir el orden de los caracteres en la
tabla de códigos.

En muchas bases de datos hay problemas con la Ñ y otros símbolos nacionales
(en especial al ordenar o comparar con el signo de mayor o menor, ya que la el
orden ASCII no respeta el orden de cada alfabeto nacional). No obstante es un
problema que tiende a arreglarse en la actualidad en todos los SGBD (en Oracle
no existe problema alguno) especialmente si son compatibles con Unicode.

(4.3.2) valores lógicos

Son:

Operador

Significado

AND

OR

NOT

Ejemplos:

Devuelve verdadero si las expresiones
a su izquierda y derecha son ambas
verdaderas

Devuelve verdadero si cualquiera de
las dos expresiones a izquierda y
derecha del OR, son verdaderas

Invierte la lógica de la expresión que
está a su derecha. Si era verdadera,
mediante NOT pasa a ser falso.

/* Obtiene a las personas de entre 25 y 50 años*/
SELECT nombre, apellido1,apellido2 FROM personas
WHERE edad>=25 AND edad<=50;
/*Obtiene a la gente de más de 60 años o de menos de 20*/
SELECT nombre, apellido1,apellido2 FROM personas
WHERE edad>60 OR edad<20;
/*Obtiene a la gente de con primer apellido entre la A y la O */
SELECT nombre,apellido1,apellido2 FROM personas
WHERE apellido1>’A’ AND apellido2<’Z’;


(4.3.3) BETWEEN

El operador BETWEEN nos permite obtener datos que se encuentren en un
rango. Uso:

(9)

sistemas gestores de bases de datos

(Unidad 4) lenguaje SQL (II). Consultas

SELECT tipo,modelo,precio FROM piezas
WHERE precio BETWEEN 3 AND 8;



Saca piezas cuyos precios estén entre 3 y 8 (ambos incluidos).

(4.3.4) IN

Permite obtener registros cuyos valores estén en una lista de valores:

SELECT tipo,modelo,precio FROM piezas
WHERE precio IN (3,5, 8);

Obtiene piezas cuyos precios sean 3, 5 u 8 (no valen ni el precio 4 ni el 6, por
ejemplo).

(4.3.5) LIKE

Se usa sobre todo con textos, permite obtener registros cuyo valor en un campo
cumpla una condición textual. LIKE utiliza una cadena que puede contener estos
símbolos:

Símbolo

Significado

%

_

Una serie cualquiera de caracteres

Un carácter cualquiera

Ejemplos:

/* Selecciona nombres que empiecen por S */
SELECT nombre FROM personas WHERE nombre LIKE 'S%';
/*Selecciona las personas cuyo apellido sea Sanchez, Senchez,
Stnchez,...*/
SELECT apellido1 FROM Personas WHERE apellido1
LIKE 'S_nchez';

(4.3.6) IS NULL

Devuelve verdadero si el valor que examina es nulo:

SELECT nombre,apellidos FROM personas
WHERE telefono IS NULL

Esa instrucción selecciona a la gente que no tiene teléfono. Se puede usar la
expresión IS NOT NULL que devuelve verdadero en el caso contr
  • Links de descarga
http://lwp-l.com/pdf14318

Comentarios de: Unidad 4: SQL (II) DQL. Select (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad