Está en la página 1de 9

Alumno: Manuel Alejandro Flores Ramirez ID: 289841

Maestra: Clelia Ivette Ruiz Vertiz Materia: Lenguaje de Base de Datos

________________________________________________________________________

1.- Seleccionar el nombre del estado (con alias), código estado (con alias), código y nombre del municipio (con
alias) y nombre la localidad (con alias) calle y num a la que pertenece la dirección.

select e.ID as "Codigo de Estado", e.nombre as "Nombre Estado",

m.ID as "Codigo Municipio",

m.nombre as "Nombre Municipio",

l.ID as "Codigo Localidad",

l.nombre as "Nombre Localidad",

d.nombre as "Calle", d.calle_num as "Numero"

from direccion d join estado e on d.ID_EDO = e.ID

join municipio m on d.ID_MUNIC = m.ID

join localidad l on d.ID_LOCAL = l.ID;

2.- Selección de nombre de cliente con alias, y los datos de sus direcciones

select c.nombre || ' ' || c.primape || ' ' || c.segape as "Nombre del Cliente",

e.nombre as "Estado", m.nombre as "Municipio",

l.nombre as "Localidad", d.calle_num as "Direccion"

from direccion d join cliente c on d.CDG_CTE = c.CODIGO

join estado e on d.ID_EDO = e.ID

join municipio m on d.ID_MUNIC = m.ID

join localidad l on d.ID_LOCAL = l.ID;

3.- ¿Qué operador se utiliza para seleccionar un rango de datos?

1) Like
2) Between and...
3) Not in
4) In
4.- Selección de la tabla ventas todas aquellas realizadas entre las fechas 01/02/23 y el 28/02/23 (usa fechas que
tengas en tus tablas.

select * from venta v where fecha_imp between '29/09/2023' and '05/10/2023';

5.- Selección de nombre de cliente con alias, datos de sus ventas, y nombre de los productos que ha comprado, de
aquellas ventas realizadas entre las fechas del ‘15/02/2023’y el ‘28/02/2023’.

select c.nombre as "Nombre Cliente", v.tipo, v.fecha_imp, d.cantidad, d.precio, p.nombre as


"Nombre Producto" from detalle d

join venta v on d.id_vta = v.id

join producto p on d.id_prod = p.id

join cliente c on v.cdg_cte = c.codigo

where v.fecha_imp between '30/09/2023' and '04/10/2023';

6.- ¿Con qué función se selecciona una secuencia de caracteres de cualquier columna?

1) Decode
2) Lpad
3) Length
4) Substr

7.- Se requiere seleccionar las columnas Codigo y Nombre de la tabla proveedor en donde el nombre comience
con la palabra ‘Distribuidor’.

SELECT ID as "codigo", nombre FROM proveedor

WHERE upper(nombre) LIKE 'DISTRIBUIDOR%';

8.- Selecciona la longitud del nombre completo de cada Cliente.

SELECT LENGTH (nombre || ' ' || primape || ' ' || segape) AS "Longitud del Nombre Completo"

FROM Cliente;

9.- Selecciona el nombre completo de los clientes en mayúsculas.

SELECT upper(nombre || ' ' || primape || ' ' || segape) AS "Nombre Completo en Mayusculas"

FROM Cliente;
10.- ¿Con cuál cláusula se puede ordenar la selección de columnas de una tabla?

1) Group by
2) Order by
3) Where
4) Like

11.- Seleccionar todas las columnas de la tabla cliente ordenando los datos por la columna de nombre, apellido1 y
apellido 2.

select * from cliente order by 03, 04, 05;

12.- Seleccionar las ventas de las que comprado el cliente ‘Armando’(poner un nombre que exista en su tabla),
desplegarlas en orden descendente.

SELECT v.*, c.nombre FROM venta v JOIN cliente c ON v.cdg_cte = c.codigo

WHERE upper(c.nombre) like 'ARMANDO%' ORDER BY v.fecha_imp DESC;

13.- La cláusula ORDER BY sólo puede hacer el ordenamiento por:

1) Dos columnas
2) Ninguna columna
3) Una o más columnas
4) Una columna

14.- Seleccionar todas los ventas y detalles de venta ordenando los datos por fecha, código del cliente y código del
producto.

select v.*, dv.*, p.id, p.nombre, c.codigo from detalle dv

join venta v on dv.id_vta = v.id join producto p on dv.id_prod = p.id

join cliente c on v.cdg_cte = c.codigo order by v.fecha_imp, v.cdg_cte, dv.id_prod;

15.- Seleccionar las ventas con las fechas en que los clientes han realizado una compra desplegando los clientes
en orden ascendente y las ventas en orden descendente. Poner alias significativo a las columnas.

select v.fecha_imp as "Fecha Venta", c.nombre as "Nombre Cliente" from venta v

join cliente c on v.cdg_cte = c.codigo order by v.fecha_imp desc, c.codigo asc;


16.- Seleccione el código, nombres de los clientes en orden de sus nombres completos ascendentemente,
desplegado una columna más que se llame “Nombre Completo” el nombre completo del cliente en orden de
Apellido paterno, Apellido Materno y Nombre.

select c.codigo,

c.nombre || ' ' || c.primape || ' ' || c.segape as "Nombre Completo Cliente"

from cliente c

order by "Nombre Completo Cliente" ASC;

17.- Se requiere de desplegar los totales de venta, o precio de los productos con número con solamente 2 decimales.

select p.id as "Codigo", p.nombre, p.costo as "Costo O",

round (p.costo, 2) as "Costo Redondeado"

from producto p

18.- Se desea saber la fecha más reciente en que se realizaron ventas, y la fecha del primer día en que se registraron
ventas. Emplear las funciones de grupo MIN y MAX.

SELECT

MAX(fecha_imp) AS "Fecha Reciente",

MIN(fecha_imp) AS "Primer Venta"

FROM Venta;

19.- Obtener el nombre de los proveedores cuya longitud sea mayor a 20. Ordenarlos por longitud en forma
descendente.

SELECT pr.id, pr.nombre, LENGTH(pr.nombre) as "Tamano"

FROM proveedor pr

WHERE LENGTH(pr.nombre) > 20

Order by “Tamano” desc;

20.- Se desea saber cuál es el nombre del proveedor más largo. Emplear las funciones LENGHT y MAX.

SELECT pr.id, pr.nombre, Length(pr.nombre) as "Tamaño"

FROM proveedor pr

WHERE LENGTH(nombre) = (SELECT MAX(LENGTH(nombre)) FROM proveedor);


21.- Se desea saber cuál es el nombre completo del cliente más corto. Emplear las funciones LENGHT y MAX.

SELECT pr.id, pr.nombre, Length(pr.nombre) as "Tamaño"

FROM proveedor pr

WHERE LENGTH(nombre) = (SELECT MIN(LENGTH(nombre))

FROM proveedor);

22.- Si tiene la cadena de caracteres: '857'. ¿De qué forma emplearía la función LPAD() para colocar a la cadena
4 ceros a la izquierda?

SELECT LPAD('857', 7, '0') from dual;

23.- Convertir la siguiente frase (cadena de caracteres) a letras minúsculas. 'AVENIDA REVOLUCION'.

SELECT LOWER('AVENIDA REVOLUCION');

24.- Selección el número de ventas por cada cliente. Uso de Group by.

select v.cdg_cte, count(*) as "Numero de Ventas"

from venta v

group by cdg_cte;

25.- Seleccionar los nombres de los productos que ha comprado cada cliente. Seleccionar la columna nombre de
la tabla cliente con alias = ‘Comprador’ y la columna nombre de la tabla Producto con alias = ‘Articulo’ sin que
se repitan los productos por cliente.

select p.nombre as "Articulo", c.nombre as "Comprador"

from detalle d

join producto p on d.id_prod = p.id

join venta v on v.id = d.id_vta

join cliente c on c.codigo = v.cdg_cte

group by p.nombre, c.nombre;

26.- Seleccionar el número de productos de cada proveedor.

select pp.id_prov as "ID Proveedor", count(*) as "Cantidad Productos"

from prod_prov pp group by pp.id_prov;


27.- Seleccionar los proveedores que tengan 3 o más productos, ordenando por nombre del proveedor.

select p.nombre as "Nombre Proveedor", count(*) as "Cantidad Productos"

from prod_prov pp

join proveedor p on pp.id_prov = p.id

group by p.nombre

having count(*)>=3

order by p.nombre;

28.- Seleccionar el código y nombre del producto y las veces que ha sido comprado ese producto. Usando alias
significativos en las columnas.

SELECT

p.id AS "Código Producto",

p.nombre AS "Nombre Producto",

COUNT(*) AS "Veces Comprado"

FROM detalle d

JOIN producto p ON d.id_prod = p.id

GROUP BY p.id, p.nombre

29.- En la tabla Producto elija un código el que guste. Se desea saber el nombre y código del producto y su tipo,
de todos los productos que se hayan vendido después de la fecha en que se vendió el producto que se eligió,
desplegando una sola vez cada producto en caso de que éste haya sido vendido varias veces. (Se puede usar UNION
o Subconsultas)

SELECT DISTINCT

p.id AS "Código Producto",

p.nombre AS "Nombre Producto",

p.tipo AS "Tipo de Producto"

FROM detalle d

JOIN producto p ON d.id_prod = p.id


JOIN venta v on d.id_vta = v.id

WHERE v.fecha_imp >

(SELECT v.fecha_imp

FROM detalle d JOIN venta v on d.id_vta = v.id

WHERE d.id_prod = '10');

30.- Obtener la raíz cuadrada de 625. Uso de From Dual

SELECT SQRT(625) AS "Raíz Cuadrada" FROM DUAL;

31.- Convertir a número la cadena '1455' y restar 6 unidades. Uso de From Dual

SELECT TO_NUMBER('1455') - 6 AS "Resultado" FROM DUAL;

32.- ¿Qué se debe hacer cuando en una composición una de las tablas no satisface la condición?

1) Alterar los datos para obligar a que se cumpla la condición


2) Cambiar la tabla que no cumple con la condición
3) Utilizar el operador (+)
4) Eliminar la columna que no cumple con la condición

33.- Seleccionar los productos de las ventas que han sido realizadas incluyendo los productos que no se han
vendido, identificando cuales productos han sido vendidos y cuáles no.

Los datos que se requiere mostrar son, el código del producto en caso de ser un producto que ya haya sido vendido,
proveedor, fecha de la venta, cantidad y total.

select

nvl(to_char(p.id), 'No Vendido') as "Codigo Producto",

pr.nombre as "Proveedor",

v.fecha_imp as "Fecha Venta",

d.cantidad as "Cantidad Vendida",

d.cantidad * d.precio as "Total",

'Fecha Registrada' as "Registro de Fecha Venta"

from producto p
left join prod_prov pp on p.id = pp.id_prod

left join proveedor pr on pp.id_prov = pr.id

left join detalle d on p.id = d.id_prod

left join venta v on d.id_vta = v.id

where v.id is not null

union

select

to_char(p.id) as "Codigo Producto",

pr.nombre as "Proveedor",

null as "Fecha Venta",

nvl(d.cantidad, 0) as "Cantidad Vendida",

nvl(d.cantidad*d.precio, 0) as "Total",

'Fecha sin Registrar' as "Registro de Fecha Venta"

from producto p

left join prod_prov pp on p.id = pp.id_prod

left join proveedor pr on pp.id_prov = pr.id

left join detalle d on p.id = d.id_prod

left join venta v on d.id_vta = v.id

where p.id not in (Select distinct id_prod from detalle);

34.- Seleccionar los productos con su unidad y una nueva columna que indique: si es CJ “Este producto se vende
en CAJA” si es PZ “Este…CAJA”, si es una LT “Este… Litros. Utiliza la sentencia UNION, ordenando por el
campo 1 y 2.

select p.nombre, p.unidad, decode(p.tipo, 'li', 'Litros', 'pz', 'Piezas') as "Tipo


Producto"

from producto p

union
select nombre, unidad, decode(tipo, 'li', 'Litros', 'pz', 'Piezas')

from producto

order by 1,2;

35.- Es la función de agrupamiento que devuelve la suma de los renglones de una columna.

1) COUNT
2) MAX
3) SUM
4) MIN

36.- Emplear la función sum() para desplegar la sumatoria de los totales de ventas de cada producto vendido.

select p.nombre as "producto",

sum(d.cantidad * d.precio) as total_venta

from detalle d

join producto p on d.id_prod = p.id

group by p.nombre;

37.- Emplear el comando select para desplegar de la tabla una columna numérica con el siguiente formato
999,999,999.99. Usa producto campo precio.

SELECT TO_CHAR(costo, '999,999,999.99') AS "Precio Formateado"

FROM producto;

También podría gustarte