Archivomaterial 2020528221349
Archivomaterial 2020528221349
Archivomaterial 2020528221349
anidadas
UNEMI - FACI
Sentencias: Data Manipulation Language (DML)
La sentencia SELECT
Es el comando que más se utiliza y es la forma fundamental de consultar
datos.
Selecciona Registros y Columnas de las tablas.
Básicamente se compone de tres palabras reservadas:
SELECT - Especifica las columnas.
FROM - Especifica las tablas.
WHERE - Especifica los registros.
SELECT * Recupera todas las columnas
Una sencilla consulta que recupera las columnas: pub_id, pub_name, city, state de
la tabla publishers de la base de datos Pubs.
Los nombres de las columnas son separados por una coma. Ejemplo:
SELECT pub_id, pub_name, city, state
FROM publishers
El resultado es:
SELECT
Utilizando literales
• Resultados del SELECT más descriptivos.
• Delimitados por comillas simples o dobles. Ejemplo:
El resultado es:
SELECT
MANIPULANDO DATOS
En esta unidad vamos a ver la manipulación de los siguientes datos:
•Manipulando Datos Numéricos.
Operadores Aritméticos
Funciones Matemáticas.
•Manipulando Datos Alfanuméricos.
•Manipulando Datos de Fecha y Tiempo.
•Funciones del Sistema.
SELECT
Datos Numéricos: Operadores Numéricos
Ejecutan cómputos a partir de columnas ó constantes numéricas.
Los operadores numéricos son:
Condiciones de búsqueda:
SELECT
Seleccionando Registros Mediante Comparaciones
La palabra reservada BETWEEN permite realizar búsquedas en un rango
de valores. Delimite los valores con comillas simples ó dobles para tipos
de datos: char, varchar, text, nchar, nvarcahr, ntext, datetime y
smalldatetime.
Sintaxis:
SELECT Select_list
FROM table_list
WHERE expresión [NOT] BETWEEN expresión AND expresión
SELECT
a)Seleccionando datos dentro de un rango
USE pubs
GO
SELECT title_id, ytd_sales
FROM titles
WHERE ytd_sales BETWEEN 4095 AND 12000
GO
El resultado es:
title_id ytd_sales
-------- -----------
BU1032 4095
BU7832 4095
PC1035 8780
PC8888 4095
TC7777 4095
SELECT
b)Seleccionando datos fuera de un rango
USE pubs
GO
SELECT title_id, ytd_sales
FROM titles
WHERE ytd_sales NOT BETWEEN 4095 AND 12000
GO
El resultado es:
title_id ytd_sales
-------- -----------
BU1111 3876
BU2075 18722
MC2222 2032
MC3021 22246
PS1372 375
PS2091 2045
PS2106 111
PS3333 4072
PS7777 3336
TC3218 375
TC4203 15096
SELECT
Seleccionando Registros Mediante Listas
La palabra reservada IN permite realizar búsqueda que coincida con una
lista de valores.
Sintaxis:
SELECT Select_list
FROM table_list
WHERE expresión [NOT] IN (Lista_Valores)
USE pubs
SELECT au_lname, state
FROM authors
WHERE state IN ('IN', 'MD')
El resultado es:
au_lname state
------------------ -----
DeFrance IN
Panteley MD
SELECT
Seleccionando Registros Mediante Cadenas
La palabra reservada LIKE permite realizar búsqueda con subcadenas.
Sintaxis:
SELECT Select_list
FROM table_list
WHERE expresión [NOT] LIKE “String”
Posee 4 caracteres „Wildcard‟:
SELECT
Ejemplo:
LIKE “AR%” Nombres que comiencen con “AR”.
LIKE “_on%” Nombres de tres letras que terminen en “on”
LIKE “[AP]%” Nombres que comiencen con “A” ó “P”.
LIKE “[^A]%” Nombres que no comiencen con “A”.
SELECT
Seleccionando Registros sobre Valores Desconocidos
Un NULL (Valor Nulo) significa ausencia de valor para una determinada
columna.Para seleccionar registros con valores NULOS utilice la palabra
reservada IS NULL en la cláusula WHERE. En Ordenación Ascendente el
NULL se presenta primero.
Sintaxis:
SELECT * FROM titles
WHERE ytd_sales IS NULL
SELECT
Ejemplo:
USE pubs
SELECT title_id, advance
FROM titles
WHERE advance < $5000 OR advance IS NULL
ORDER BY title_id
El resultado es:
title_id advance
-------- --------------------------
MC2222 0.00
MC3026 (null)
PC9999 (null)
PS2091 2,275.00
PS3333 2,000.00
PS7777 4,000.00
TC3218 (null)
SELECT
Seleccionando Registros sobre varios Argumentos de Búsqueda
Se puede combinar varios argumentos de búsqueda a través de operadores
lógicos como AND, OR y NOT. Orden de evaluación: NOT, AND y OR.
Se pueden cambiar el orden de evaluación mediante el uso de Paréntesis.
Ejemplo:
USE pubs
SELECT au_id, au_lname, au_fname,phone
FROM authors
WHERE (au_lname LIKE 'G%' OR au_lname LIKE 'D%')
AND state = 'CA'
El resultado es:
address
------------------------
10 Mississippi Dr.
1956 Arlington Pl.
22 Graybar House Rd.
2286 Cram Pl. #86
3 Balding Pl.
55 Hillsdale Bl.
67 Seventh Av.
Sentencias Select (Uso de Join)
Oscar X. Bermeo A.
Las consultas requieren Las tablas contienen
que se unan tablas al datos específicos en cada
momento de mostrar los una, pero al enlazarse
datos presenta información
Si no se hace la relación
en la consulta,
específicamente en
Where, los datos salen
duplicados
Sintaxis de Select con JOIN
SELECT <campos> FROM <tabla1 JOIN tabla2>
ON (tabla1.campo=tabla2.campo)
Ejemplo:
SELECT nomEmpleado,nomCargo FROM
Empleado JOIN Cargo
ON (Empleado.idCargo=Cargo.idCargo)
La sentencia también puede ir acompañada de la cláusula WHERE
Ejemplo:
Ejemplo:
SELECT nomEmpleado,nomCargo FROM
Empleado, Cargo
WHERE Empleado.idCargo=Cargo.idCargo
Para poner más condiciones se recurre al operador lógico AND
Ejemplo:
En ese caso cuando se liste los campos después del SELECT se debe
especificar el nombre de la tabla