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