Está en la página 1de 13

DISEÑO DE BASES DE DATOS

SENTENCIA SELECT BÁSICA

SELECT expresión {, expresión};

Expresión: SELECT 3+5 as suma, 7*8 as producto


from dual;
• expresiones aritméticas
• expresiones con cadenas de caracteres
select ‘hola’|| ‘ y’ || ‘ adios’ as texto from dual;
• funciones
• con fechas
• con caracteres
• numéricas

1
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT BÁSICA

FUNCIONES comunes para datos NUMÉRICOS

ceil(n) – Aproxima al entero mayor o igual al número n


floor(n) – Devuelve el mayor entero igual o menor que n
mod(m,n) – Devuelve el resto de dividir m entre n (módulo)
power(m,n) – Número m elevado a la potencia n
sqrt(n) –Raíz cuadrada de n
round(n,m) –Redondea el número n con m dígitos a la derecha a partir
del punto decimal
sign(n) – si n=0, devuelve 0; si n>0,devuelve 1; si n<0 devuelve -1

select ceil(10.6)from dual;


select floor(10.6)from dual;
select mod(7,5)from dual;
select power(3,2)from dual;
select sqrt(25)from dual;
select round(16855.698,2)from dual;
select sign(12)from dual;

2
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT BÁSICA

FUNCIONES comunes para datos de tipo


CARÁCTER
initcap(char) – Pone en mayúscula el primer carácter de cada cadena
upper (char) – Pone en mayúsculas la cadena de caracteres completa
lower (char) – Pone en minúsculas la cadena de caracteres completa
length (char) – Longitud del char
replace(char,str1,str2) –Reemplaza cada ocurrencia de str1 por str2 en
la cadena de caracteres

select length ( 'Buenos dias' ) from dual;


select initcap ( 'd. sanz' ) from dual;

3
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT BÁSICA

FUNCIONES para datos de tipo FECHA

sysdate – Fecha y hora actual


trunc(date)- Trunca la fecha a la unidad especificada
last_day – Último día del mes
add_months(d,n) – Suma o resta n meses a partir de la fecha d
months_between(f,s) – Diferencia en meses entre la fecha f y la s
next_day(d, day) –La fecha especificada de la semana después del día actual

select sysdate from dual;


select trunc(to_date(’27-oct-07’,’dd-mon-yy’), ’year’)
from dual;
select last_day(sysdate)from dual;
select add_months(sysdate,2)from dual;

4
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA

SELECT expresión [[AS] nomcol ] {, expresión [[AS] nomcol ] }


FROM tabla;

SELECT *
FROM tabla ;

SELECT ape_1 || ‘ ‘ || ape_2 || ‘ ‘ || nombre AS nombre


FROM lector;
SELECT * FROM libro;
SELECT codigo, nombre FROM sucursal;
5
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA. ELIMINACIÓN DE FILAS REPETIDAS

SELECT [ALL | DISTINCT] * | expresión {, expresión}


FROM tabla;

select nombre from tabla;


NOMBRE APELLIDO Codigo
Andrés López 6 NOMBRE
Pedro Martín 5 Andrés
Luis Jiménez 8 Pedro
Pedro Gómez 7
Luis
Pedro
6
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA. ELIMINACIÓN DE FILAS REPETIDAS

SELECT [ALL | DISTINCT] * | expresión {, expresión}


FROM tabla;

select distinct nombre from tabla;


NOMBRE APELLIDO Codigo
Andrés López 6
Pedro Martín 5 NOMBRE

Luis Jiménez 8 Andrés

Pedro Gómez 7 Pedro


Luis

7
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA. ORDENACIÓN DE FILAS

SELECT [ALL | DISTINCT] * | expresión {, expresión}


FROM tabla
[ORDER BY columna/nº columna [ASC|DESC] {, ...} ] ;

select * from lector order by 3;


select * from autor
order by nombre, Fecha_Nac;
select Apellidos, nombre, fecha_nac from lector
order by fecha_nac desc;
8
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA. SELECCIÓN DE FILAS

SELECT [ALL | DISTINCT] * | expresión {, expresión}


FROM tabla
[ WHERE condición ]
[ ORDER BY columna/nº columna [ASC|DESC] {, ...} ] ;

Operadores de comparación: =, <>, <, <=, >, >=


Operadores lógicos: AND, OR, NOT
Predicados avanzados:
IN BETWEEN,
LIKE IS NULL
9
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA. SELECCIÓN DE FILAS

SELECT [ALL | DISTINCT] * | expresión {, expresión}


FROM tabla
[ WHERE condición ] PREDICADO IN
[ ORDER BY expresión
columna/nº[NOT] IN (lista_valores)
columna [ASC|DESC] {, ...} ] ;

select * from lector


where provincia not in (‘ZAMORA’, ‘AVILA’);

select codigo, ISBN from prestamo


where Cod_Suc in (1, 3, 5, 7, 9); 10
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA. SELECCIÓN DE FILAS

SELECT [ALL | DISTINCT] * | expresión {, expresión}


FROM tabla
[ WHERE condición ]
[ ORDER BY columna/nº columna [ASC|DESC] {, ...} ] ;

PREDICADO BETWEEN
expresión [NOT] BETWEEN valor1 AND valor2

select * from lector where fecha_nac


between date '1970-01-01' and date '1979-12-31'
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA. SELECCIÓN DE FILAS

SELECT [ALL | DISTINCT] * | expresión {, expresión}


FROM tabla
[ WHERE condición ] PREDICADO LIKE
[ ORDER BY columna/nº
expresión columna
[NOT] [ASC|DESC] {, ...} ] ;
LIKE cte_alfanumérica
Caracteres especiales (comodines):
% sustituye 0 ó más caracteres arbitrarios
_ sustituye 1 carácter arbitrarios

select * from lector where Apellidos LIKE ‘%Z’;


12
DISEÑO DE BASES DE DATOS

SENTENCIA SELECT SOBRE UNA TABLA. SELECCIÓN DE FILAS

SELECT [ALL | DISTINCT] * | expresión {, expresión}


FROM tabla
[ WHERE condición ]
[ ORDER BY columna/nº columna [ASC|DESC] {, ...} ] ;

PREDICADO IS NULL
columna IS [NOT] NULL

select * from prestamo where Fecha_Dev is null;

13

También podría gustarte