• WORD
  • FORMATO AUTOMATICO Y ESTILOS
  • INSERTAR CUADRO DE TEXTO Y ECUACION
  • REFERENCIASTABLA DE CONTENIDO Y BIBLIOGRAFIA
  • Ir a Prácticas
  • EXCEL
  • FORMULAS I y II
  • TABLAS Y GRAFICOS DINAMICOS
  • SUBTOTALES Y BASE DE DATOS
  • MACROS
  • Ir a Prácticas
  • AUTOCAD
  • 2D:DIBUJO Y ACOTAR
  • INSERTAR BLOQUES Y PLOT
  • 3D: MODELADO Y EDICION DE SOLIDOS
  • RENDER Y ANIMACIONES
  • Ir a Prácticas
Mostrando las entradas con la etiqueta sql. Mostrar todas las entradas
Mostrando las entradas con la etiqueta sql. Mostrar todas las entradas

sábado, 1 de julio de 2023

SENTENCIAS SQL 5

 

COMENTARIOS:

-- ESTE ES CODIGO DE COMENTARIOS

 

PRINT: PERMITE MOSTRAR UN MENSAJE

PRINT' HOLA SOY UN COMENTARIO'

 

RANK(), OVER, PARTITION

select ROW_NUMBER() over (order by productid) as fila,

Name,price

from products

select * from Products

 

select rank() over (PARTITION BY SALESID order by productid) as RANKING,

SALESID,SALESPERSONID,productid

from sales

 

select rank() over(order by productid) as ranking,

name,price

from products

 

select top 500000 rank() over (PARTITION BY SALESID order by productid) as RANKING,

SALESID,SALESPERSONID,productid

from sales

 

select * from sales

SELECT COUNT(*) FROM SALES

SELECT MAX(QUANTITY) FROM SALES

SELECT MIN(QUANTITY) FROM SALES

 

select top 20 rank()

over (order by price*quantity desc) as ranking,

price*quantity as venta,

name,price,quantity,salesid from products inner join sales

on Products.productid=Sales.productid

 

FUNCIONES

Son subrutinas predefinidas que realizan una tarea específica y devuelven un valor. Pueden ser utilizadas en una consulta SQL para realizar operaciones matemáticas, manipulación de cadenas, conversión de tipos de datos, entre otras.

El objetivo de las funciones SQL es ayudar a los usuarios a obtener información más valiosa y relevante de sus bases de datos, y tomar decisiones más informadas basadas en esa información. Las funciones en SQL son esenciales para la manipulación y análisis de datos en una base de datos relacional.


SINTAXIS:

CREATE FUNCTION[PROPIESTARIO.]NOMBRE_FUNCION(

@PARAMETRO [AS] TIPODATO=[VALORXDEFECTO]

)

RETURNS TIPO_DATO_RETORNADO

[AS]

BEGIN

CUERPO DE LA FUNCION

RETURN EXPRESION_SALIDA

END


EJEMPLOS 


CREATE FUNCTION PROM(@n1 int,@n2 int)

returns decimal(10,2)

as

begin

declare @r decimal(10,2)

set @r=(@n1+@n2)/2.0

return @r

end

 

select dbo.prom(20,50) as promedio

 

create function total(@cantidad int, @precio decimal(10,2))

returns decimal (10,2)

as

begin

return @precio*@cantidad

end

 

select dbo.total(20,30) as total

 

create function costopromedio5(@anio int)

returns decimal(10,2)

as

begin

declare @prom decimal(10,2)

set @prom=(select avg(cantidad) from factventas where year(calendario_key)=@anio)

return @prom

end

go

print ' el costo promedio del año 2023 es '+convert(char(10),dbo.costopromedio5(2023))


 

 


SENTENCIAS SQL 4

 JOIN




INNER JOIN

SELECT F.orden_id,P.nombre FROM factventas F INNER JOIN producto P

ON F.producto_key=P.producto_key

 

select categoria, count(producto_key)  as cantidades from categoria

inner join producto on categoria.categoria_key=producto.categoria_key

group by categoria

order by count(producto_key) desc

 

select categoria, sum(cantidad)  as cantidades from factventas

inner join producto on producto.producto_key=factventas.producto_key

inner join categoria on categoria.categoria_key=producto.categoria_key

group by categoria

order by sum(cantidad) desc

 

LEFT JOIN

SELECT orden_id,nombre FROM factventas LEFT JOIN producto

ON factventas.producto_key=producto.producto_key

 

RIGHT JOIN

SELECT orden_id,nombre FROM factventas RIGHT JOIN producto

ON factventas.producto_key=producto.producto_key

 

SELECT * FROM factventas RIGHT JOIN producto

ON factventas.producto_key=producto.producto_key

 

SELECT F.orden_id,P.nombre FROM factventas F RIGHT JOIN producto P

ON F.producto_key=P.producto_key

 

SELECT F.orden_id,P.nombre FROM factventas F RIGHT JOIN producto P

ON F.producto_key=P.producto_key

WHERE F.orden_id IS NULL

 

 

UNION

SELECT * FROM producto

where tamaño like '14'

union

SELECT * FROM producto

where tamaño like '10'




viernes, 16 de junio de 2023

SENTENCIAS SQL 3

SENTENCIAS SQL


 TOP: Se utiliza para especificar el numero de registros que se devolveran

SELECT TOP 5 * FROM producto

SELECT TOP 50 PERCENT * FROM producto

SELECT * FROM producto

SELECT TOP 20 * FROM producto

PERCENT: un porcentaje de los registros

SELECT TOP 20 PERCENT * FROM producto

SELECT TOP 5 * FROM producto ORDER BY PRECIO DESC

SELECT TOP 5 NOMBRE, COLOR, categoria_key FROM PRODUCTO

SELECT TOP 20 PERCENT NOMBRE, COLOR, categoria_key, PRECIO FROM PRODUCTO ORDER BY PRECIO DESC

TABLE SAMPLE: Es una tabla al azar de nuestros datos, se utiliza para hacer evaluaciones de nuesta data

SELECT * FROM producto TABLESAMPLE ( 20 PERCENT)

SELECT * FROM factventas

GROUP BY: se utiliza para juntar filas de resultados que coincidan en el valor de alguna columna seleccionada.

SELECT PRODUCTO_KEY,

COUNT(*) AS PRODUCTOS_VENDIDOS

FROM factventas

GROUP BY producto_key


select TOP 20 PRODUCTID,

COUNT(*) AS PRODUCTOS_VENDIDOS

FROM SALES

GROUP BY PRODUCTID

ORDER BY PRODUCTOS_VENDIDOS DESC

INNER JOIN: consiste en combinar cada fila de una tabla con cada fila de la otra tabla, seleccionado aquellas filas que cumplan una determinada condición.

select nombre,sum(cantidad) as cantidades from producto inner join factventas

on producto.producto_key =factventas.producto_key

group by nombre

order by sum(cantidad) desc

 

select categoria,sum(cantidad) as cantidades from producto inner join factventas

on producto.producto_key =factventas.producto_key

inner join categoria on categoria.categoria_key=producto.categoria_key

group by categoria

order by sum(cantidad) desc

Having: se usa para incluir codiciones, principalmente cuando hacemos agrupaciones

formato having

SELECT COLUMN_NAME(S)

FROM TABLE_NAME(S)

WHERE CONDITION

GROUP BY COLUMN_NAME(S)

HAVING CONDITION

select nombre,sum(cantidad) as cantidades from producto inner join factventas

on producto.producto_key =factventas.producto_key

group by nombre

having sum(cantidad)>=7

order by sum(cantidad) desc

USO DE FECHAS: DAY, MONTH, YEAR

select nombre from factventas inner join producto on factventas.producto_key=producto.producto_key

where day(calendario_key)=7

 

DISTINCT: sirve para encontrar registros distintos en una consulta

select distinct categoria_key from factventas

SENTENCIAS SQL 2

SENTENCIAS SQL 

SELECT: La sentencia Select es una sentencia SQL que pertenece al grupo DML(Data Manipulation Language) «Lenguaje de manipulación de datos en español » la cual nos permite recuperar información de una o más tablas en la base de datos, dependiendo de las condiciones que especifiquemos nos arrojará diferentes resultados .

SELECT * FROM TIENDA

SELECT * FROM categoría

SELECT NOMBRE,COLOR,PRECIO FROM producto

AS: Es una palabra reservada, llamado un alias para asignar un nombre  o denominar un columna especifica nueva hecha a partir de un cálculo

SELECT NOMBRE,COLOR,PRECIO, PRECIO*10/100 AS SEGURO FROM producto

 

SELECT NOMBRE AS IDENTIFICADOR, COLOR AS TEMA, PRECIO, PRECIO+0.3*PRECIO AS GANANCIA FROM PRODUCTO

WHERE : especifica criterios que tienen que cumplir los valores de campo para que los registros que contienen los valores se incluyan en los resultados de la consulta. Es decir es una condición para que se cumplan las sentencias arriba establecidas

SELECT NOMBRE AS IDENTIFICADOR, COLOR AS TEMA, PRECIO, PRECIO+0.3*PRECIO AS GANANCIA FROM PRODUCTO

WHERE PRECIO+0.3*PRECIO>1500

LIKE: se usa para buscar un patron repetido, o una coincidencia.

Comodines:

Dos tipos de comodines:

‘%’ : es un comodín que significa que reemplaza toda un cadena de valores, ejemplo si quiero todos los apellidos que empiecen con L seria ‘L%’:

Los resultados serían: León, López,Lau, Lezama.

‘_’: reemplaza una letra, ejemplo ‘r_y:

Los resultados serían: roy,ray,rey,

SELECT * FROM PRODUCTO WHERE NOMBRE LIKE 'LA%'

BETWEEN: para seleccionar valores entre un rango de datos

SELECT * FROM PRODUCTO WHERE PRECIO >=1000 AND PRECIO<=1400

SELECT * FROM PRODUCTO WHERE PRECIO BETWEEN 1000 AND 1400

IN: operador lógico que permite evaluar si una expresión está dentro de una lista de valores (o incluso una subconsulta). Regresa verdadero si la expresión buscada está al menos una vez en la lista que se utiliza.

SELECT NOMBRE AS IDENTIFICADOR, COLOR AS TEMA, PRECIO, PRECIO+0.3*PRECIO AS GANANCIA FROM PRODUCTO

WHERE color IN('celeste','blanco')

SELECT NOMBRE AS IDENTIFICADOR, COLOR AS TEMA, PRECIO, PRECIO+0.3*PRECIO AS GANANCIA FROM PRODUCTO

WHERE color ='celeste' OR COLOR='blanco'

SELECT NOMBRE AS IDENTIFICADOR, COLOR AS TEMA, PRECIO, PRECIO+0.3*PRECIO AS GANANCIA FROM PRODUCTO

WHERE color ='celeste' OR COLOR='blanco' AND   PRECIO+0.3*PRECIO>=1500

ORDER BY: ordena los registros resultantes de una consulta por un campo o campos, para que sea descendente se le adiciona la sentencia DESC

SELECT NOMBRE AS IDENTIFICADOR, COLOR AS TEMA, PRECIO, PRECIO+0.3*PRECIO AS GANANCIA FROM PRODUCTO

WHERE color ='celeste' OR COLOR='blanco' AND   PRECIO+0.3*PRECIO>=1500

ORDER BY PRECIO DESC

SELECT * FROM PRODUCTO ORDER BY COLOR,PRECIO

SENTENCIAS SQL 1

Supongamos que creamos una base de datos de una tienda, tenemos que identificar las entidades FACT y las maestras, las FACT son en las que se realizan gran cantidad de transacciones, mientras que las maestras o DIM son las que nos dan datos generales o esenciales del negocio.

en este caso la entidad FACT es la tabla ventas, las demas seran las DIM y estaran relacionadas a la FACT ventas mediante las foreign key.


Este sería el diagrama de las entidades en sql:



Asi se veria el explorador de elementos de sql


Usaremos las sentencias de SQL server para:

      CREACION DE UNA BASE DE DATOS:

CREATE DATABASE TestData

GO

      USAR BASE DE DATOS:

USE MERCADO

GO

      CREAR UNA TABLA

CREATE TABLE dbo.Productos

    (ProductoID int PRIMARY KEY NOT NULL,

    ProductoNombre varchar(25) NOT NULL,

    Precio money NULL,

    ProductoDescripcion varchar(max) NULL)

GO

En una ventana del Editor de consultas, escriba y ejecute el código siguiente para crear una tabla denominada Productos. Las columnas de la tabla son ProductoID, ProductoNombre, Precio y ProductoDescripcion. La columna ProductoID es la clave principal de la tabla. int, varchar(25), money y varchar(max) son todos los tipos de datos. Solo las columnas Precio y ProduccionDescripcion pueden no tener datos cuando se inserta o cambia una fila. Esta instrucción contiene un elemento opcional (dbo.) denominado esquema. El esquema es el objeto de base de datos propietario de la tabla. Si es un administrador, dbo es el esquema predeterminado. dbo hace referencia al propietario de la base de datos.

1) CAMBIAR DATOS

UPDATE categoria

SET categoria = 'ELECTRONICO'

WHERE categoria_key=52

 

2) INSERCION DE DATOS

INSERT dbo.Productos (ProductoID, ProductoNombre, Precio, ProductoDescripcion)

    VALUES (1, 'Clamp', 12.48, 'Workbench clamp')

GO

3) DELETE:

DELETE FACTVENTAS WHERE producto_key=108


sábado, 10 de junio de 2023

TIPOS DE DATOS SQL SERVER

TEXTO

Í  CHAR(n): almacena caracteres y cadenas de caracteres del tamaño que indiques (ej: 8 caracteres) OJO: estrictamente el tamaño que le indiques.
Í  VARCHAR(n): Almacena caracteres y cadenas de caracteres de cualquier tamaño dentro del límite máximo que especifiques, o 255 caracteres. (puede almacenar menos, pero solo hasta el máximo que indiques)
Í  TEXT: Almacena cadenas de texto muy largas, mayores a 255 caracteres.

NÚMEROS

Í  lNTEGER: Enteros
Í  BIGINT: Enteros muy muy grandes
Í  SMALLINT: Enteros muy pequeños (<99) (usarlos mejora el performance)
Í  DECIMAL(n, s): Decimales. n=parte entera. s=parte decimal.
Í  NUMERIC(n, s): Números mas complejos. n=parte entera. s=parte decimal.

FECHA/HORA

Í  DATE: contiene año, mes y día.
Í   TIME: Hora del día.
Í  DATETIME: Fecha y hora del día 
Í  TIMESTAMP: Fecha y hora del día cuando algo ocurrió.

LÓGICOS

Í  BOOLEAN: 1 o 0. Si o no. Cierto o falso.

TIPOS DE DATOS

SENTENCIAS SQL

Son los comandos de SQL que podemos utilizar en este lenguaje de dominio específico que utilizamos para programación.

Las sentencias SQL se pueden agrupar por funcionalidades:

1.- Lenguaje de definición de datos (DDL).

DDL está compuesto por sentencias para la creación (CREATE), modificación (ALTER) y borrado (DROP) de los componentes principales de una base de datos:

base de datos (DATABASE)

tablas (TABLE)

vistas (VIEW)

índices (INDEX)

procedimientos almacenados (PROCEDURE)

disparadores (TRIGGER).

2.- Lenguaje de manipulación de datos (DML).

DML está compuesto por sentencias que sirven para :

consultar (SELECT)

insertar (INSERT)

modificar (UPDATE)

borrar (DELETE)

3.- Lenguaje de control de datos (DCL).

DCL está compuesto por sentencias SQL para controlar las funciones de administración :

Confirmar la operacion (COMMIT)

Retroceder la operacion (ROLLBACK)

Dar permisos (GRANT)

Quitar permisos (REVOKE)