0% encontró este documento útil (0 votos)
77 vistas13 páginas

SQL Clase

Este documento describe cómo crear y modificar tablas y vistas en una base de datos de SQL. Se crean tablas como "Clientes", "Productos" y "Pedidos" con diferentes campos. Luego se agregan filtros, ordenamientos y uniones entre tablas usando consultas SQL como JOIN, SELECT DISTINCT y WHERE. También se muestran ejemplos de inserción, actualización y eliminación de datos.

Cargado por

Kevin Diego
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
77 vistas13 páginas

SQL Clase

Este documento describe cómo crear y modificar tablas y vistas en una base de datos de SQL. Se crean tablas como "Clientes", "Productos" y "Pedidos" con diferentes campos. Luego se agregan filtros, ordenamientos y uniones entre tablas usando consultas SQL como JOIN, SELECT DISTINCT y WHERE. También se muestran ejemplos de inserción, actualización y eliminación de datos.

Cargado por

Kevin Diego
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Creamos bd empresa

Creamos una tabla id int,nombre varchar(50)

Vemos propiedades de columnas(aquí podems csmbiar los limites de arriba) por ejemplo
ponemos mil en var 1000 y me sale q tiene q estar en un rang de 1 a 8000

Mostramos como hacer q es clave primaria establecemos clave primaria cambiamos en


perimitr valores me sale error

Creamos 2 campos mas apellido1 nchar(50),apellido2nchar50,teléfono nchar(50),nada de


maysucylas en los campos

Si poogo apellido 1 con espacios el sql lo q haces ponerlos en corchetes recomendable poner
números después de las letras

Recomenble apellido 1 es poner apellido-1 o apellido_1 nada de asentos en los nombrs de las
columnas

De ahí ponemos guarda y me pide el nombre clientes

Clic de derecho editamos las 100 primeras filas de la tabla clientes

Intentemos dejar un id vacio no sale un error x determinar que es clave primaria

-que sea flexible no siginfica q tenemso que estar agregando o quitando bd aunq lo permita

Clic derecho en la tabla ahora ponemos diseño me olvide poner la dirección nchar100
Codposta int,población nchar100,provincia nchar(20) estos si tienen q guardarse

De ahí los mostramos en editar las 1000 primeras filas.

Creamos una tabla de prueba y de ahí con clic derecho solo la leliminamos para q vena lo mas
fácil.

Creamos ahora la tabla productos

Id int,nombre nchar 20,precio money

Ahora ingresmos datos.

Seleccionamos las 100 primeras productos


SELECT TOP 1000 [id]
,[nombre]
,[apellido1]
,[apellido2]
,[telefono]
,[ciudad]
FROM [miEmpresa].[dbo].[Clientes]

De ahí rotamos como quiere q se muestren

Esto no lo guardamos y lo q hacemos es guardarlo en una vista:

Lo q hacemos es crear una vista seleccionamos la tabla producto agregar

Después d eso ponemos asterisco y se llena automáticamente con los campos dados.

Ahí podemos seleccionar lo q queremos en als columnas los quitamos.

Y los llenamos nosotros. Nombre del producto,código del producto ,precio del producto.

Para ordenar x precio vamos a tipo de orden.


SELECT TOP (100) PERCENT id AS [codigo del producto], nombre AS [nombre del producto],
precio AS [precio del producto]

FROM [Link]

ORDER BY [precio del producto]

Lo guardamos con el nombre de listarProductos

Nos vamoa a editar nuevamente la tabla pedidos para ingresar nuevos datos:

Que ara si queremos ordenarlo con respecto al precio si hay valores duplicados?

Volvemos a la vista listar [Link]ño

En tipo de orden sellecionamos q también sea x id y lo ponemos de manera descenediente no


nos damos cuenta ahí observamos el orden q primero es x costo y de ahí x id.

Ahora lo q hacemos es acerlo con filtros. Sentencia where

Filtro precio=300 solo se lista los q son =300 de ahí <300 y >300

Al costado de filtro ponemos precio=300 y misma línea =400 aquí trabaja con or
>200 or <400 con el or y lo analizamoa

Vamos a listar los q estén en rango de 200 y 400

SELECT TOP (100) PERCENT id AS [Codido del producto], nombre AS [Nombre del producto],
precio AS [Precio del producto]

FROM [Link]

WHERE (precio > 200) AND (precio < 400)

ORDER BY [Precio del producto], [Codido del producto] DESC

Poniendo and se pasa al asgte linea

Insert(nueva vista) se guarda como insertar

Ahore insert into [Link] values(8,producto 8,700) ya no necesitamos agregar los


valores de las columnas(las vistas son para select x eso lo usamos dentro de la nueva consulta

Ahora cpiamos el 8 he intetamos de ingresar el numero 8 me sale error

Esto insert into [Link] values(9,’proddutco9’,300)

Update

Vamos a tabla producto e ingresamos nueva columna color

De ponemos editar las primeras 100 y todo son nulll

En nueva consulta:update [Link] set color=’rojo’ y se actualizan todos de coler rojo

Delete

Mostramos las 100 primeras filas y guardamos los datos q hubo

Delete from productos la mas peligrosa q tenemos

Recuperemoslo con un error

Fielterminator=,
delete from Producto
--correcto con error
bulk
insert Producto
from 'C:\[Link]'
with (fieldterminator=',',rowTerminator='\n')
--correcto sin error

bulk
insert Producto
from 'C:\[Link]'
with (firstrow=2,fieldterminator=',',rowTerminator='\n')

delete from producto where id>6 ejecutamos

Creemos una vista llamada top q ya la usamos constantemente

SELECT TOP (4) id, nombre, precio(primeros 4)

FROM [Link]

SELECT TOP (50) PERCENT id, nombre, precio(muestra la mitad)

FROM [Link]

Between(ahora con clients)

Tiene 2 clientes ingresamos mas


SELECT id, nombre, apellido1, apellido2, telefono, ciudad

FROM [Link]

WHERE (id BETWEEN 2 AND 7)

Like(vista table clients)

SELECT id, nombre, apellido1, apellido2, telefono, ciudad

FROM [Link]

WHERE nombre=”jose”

Me sale null xq no hay niunguno con tilde

SELECT id, nombre, apellido1, apellido2, telefono, ciudad

FROM [Link]

WHERE (nombre LIKE ‘jos%')

Aqui me pongo a travesar con las cosas pa vee q sale

Ahora agregamos 3 nuevos clientes


SELECT id, nombre, apellido1, apellido2, telefono, ciudad

FROM [Link]

WHERE (nombre LIKE '%vicente%') OR

(apellido1 LIKE '%vicente%')

Ahora creamos una nueva tabla pedidos todos int

Id

Idcliente

idpedido

abrimps la tabla de clientes y productos

ingrsamos en la tabla pedidos


Podemos poner el nombre del cliente pero si esta duplicado no seria bueno igual en el nombre
del producto

Creamos una nueva vista clientes y pedidos id del cliente id de

Selecionamos las 2 tablas y sale un monton pero son demasiads datos

Ahora hacemos esto

Order by [Link]
De ahí agregamos id de la tabla pedidos y le ponemos alias para entender

Quremos mas datos x eso agregamos la tabla producto ya q solo tenemos el id del producto
pero qeremos mas

SELECT TOP (100) PERCENT [Link], [Link].apellido1,


[Link].apellido2, [Link] AS [id del pedido], [Link] AS Nombre,

[Link]

FROM [Link] INNER JOIN

[Link] ON [Link] = [Link] INNER JOIN

[Link] ON [Link] = [Link]

ORDER BY [Link]

Ahora eliminemos productos la tabla

Si nos damos cueta solo devuelve valores dondd esta lleno

Ahora queremos mostrar los clientes aun estén vacios cambiamos inner x left
SELECT TOP (100) PERCENT [Link], [Link].apellido1,
[Link].apellido2, [Link]

FROM [Link] LEFT OUTER JOIN

[Link] ON [Link] = [Link]

ORDER BY [Link]

Ahora trabajamos right(las 2 tablas pedidos y clientes)

SELECT TOP (100) PERCENT [Link], [Link].apellido1,


[Link].apellido2, [Link]

FROM [Link] RIGHT OUTER JOIN

[Link] ON [Link] = [Link]

e ingresamos un pedido 4 cliente 25 id pedido 3

ahora con full(las 2 tablas pedidos y clientes)

es la unión de las 2 tablas

ahora creamos la tabla factura

Ingresamos los valores


Creamos una nueva vista a la cual le llamamos factura y seleccionamos factura

Solo quieteo el total asi q solo pongo total en la la vista

Select avg(total)as promedio from facture

Ahora con suma

Select suma(total)as suma from facture

Quiero lo q se vendio en los meses 1 y 2 en año 2013

Select suma(total)as suma from facture

Where(anio=’2013’ and ((mes=1or mes=2))

Creamos una nueva vista para hacer el maximo y minimo con la tabla factura

Select total(max)as maximo from facture

Nueva vista con a table facture queriendo id,total,anio,mes,dia,cliente

Queremos la primera factura

Select top 1 id,total,anio,mes,dia,cliente from facture


Quiero la ultima factura

Primero

Order by id desc

Ahore muestre el top1 es el id 4 x lo q se ordeno de manera descendiente

Ahora quiero ver el primero y el ultimo

También podría gustarte