jueves, 18 de agosto de 2016

Fundamentos de Bases de Datos: Ejemplos de Query



USE CrediSeguro
GO
SELECT NumeroTarjeta, FecVencimiento AS [Fecha Vencimiento]
     FROM Tarjeta
     WHERE FecVencimiento < GETDATE()
     ORDER BY FecVencimiento;


SELECT *
     FROM Tarjeta;


SELECT *
     FROM Tarjeta
     WHERE LimiteCredito > 15000
     AND YEAR(FecVencimiento) > YEAR(GETDATE())
     AND MONTH(FecVencimiento) > MONTH(GETDATE());


SELECT NumeroTarjeta, FecVencimiento,
     YEAR(FecVencimiento) AS [Año]
     FROM Tarjeta
     ORDER BY YEAR(FecVencimiento);


SELECT   ApellidoPrimero, NombrePrimero
     , NumeroTarjeta, LimiteCredito
     FROM Cliente
     INNER JOIN Tarjeta
         ON Cliente.CodCliente = Tarjeta.CodCliente
     WHERE ApellidoPrimero = 'Adams'
     ORDER BY ApellidoPrimero, NombrePrimero,
     LimiteCredito DESC;



SELECT ApellidoPrimero, NombrePrimero,
     NumeroTarjeta, LimiteCredito,
     Fecha AS [Fecha Movimiento], Cargo
         FROM Cliente
         INNER JOIN Tarjeta t
              ON Cliente.CodCliente = t.CodCliente
         INNER JOIN Movimiento M
              ON t.CodTarjeta = M.CodTarjeta
         WHERE ApellidoPrimero = 'Adams'      
UNION
SELECT ApellidoPrimero, NombrePrimero,
     NumeroTarjeta, LimiteCredito,
     Fecha AS [Fecha Movimiento], Cargo
         FROM Cliente
         INNER JOIN Tarjeta t
              ON Cliente.CodCliente = t.CodCliente
         INNER JOIN Movimiento M
              ON t.CodTarjeta = M.CodTarjeta
         WHERE ApellidoPrimero = 'Cornett'
         ORDER BY NumeroTarjeta, Fecha;


SELECT Cliente.ApellidoPrimero, Cliente.NombrePrimero,
     Tarjeta.NumeroTarjeta, Tarjeta.LimiteCredito,
     Movimiento.Fecha, Movimiento.Cargo
FROM Cliente
     INNER JOIN Tarjeta ON Cliente.CodCliente = Tarjeta.CodCliente
     INNER JOIN Movimiento ON Tarjeta.CodTarjeta = Movimiento.CodTarjeta
WHERE (Cliente.ApellidoPrimero = 'Adams') OR
       (Cliente.ApellidoPrimero = 'Cornett')
ORDER BY Cliente.ApellidoPrimero, Cliente.NombrePrimero,
     Tarjeta.LimiteCredito, Movimiento.Fecha DESC;



SELECT YEAR(Fecha) AS [Año],
     MONTH(Fecha) AS Mes,
     SUM(Cargo) AS SumaCargos, COUNT(Cargo) AS CantidadCargos,
     MAX(Cargo) AS MaximoCargo, MIN(Cargo) AS MinimoCargo
     FROM Movimiento
     GROUP BY YEAR(Fecha), MONTH(Fecha)
     HAVING SUM(Cargo)>250000
     ORDER BY YEAR(Fecha), MONTH(Fecha);


SELECT CodTarjeta
     FROM Tarjeta
     WHERE FecVencimiento>GETDATE();


INSERT INTO Movimiento
     (CodTarjeta, Cargo, Fecha)
VALUES
     (107, 1260, GETDATE());


SELECT *
     FROM Movimiento
     WHERE CodTarjeta = 107
     ORDER BY Fecha DESC;


UPDATE Movimiento
     SET Cargo = 1280
     WHERE CodMovimiento = 5287;



USE CrediSeguro
GO


SELECT Cliente.CodCliente, NombrePrimero, ApellidoPrimero,
     YEAR(GETDATE()) - YEAR(FecNacimiento) AS Edad,
     NumeroTarjeta, FecVencimiento,
     Tarjeta.SaldoActual, Movimiento.Fecha,
     Movimiento.Cargo
     FROM Cliente
     INNER JOIN Tarjeta ON Cliente.CodCliente = Tarjeta.CodCliente
     INNER JOIN Movimiento
     ON Tarjeta.CodTarjeta = Movimiento.CodTarjeta
     WHERE ApellidoPrimero = 'Adams'
     ORDER BY ApellidoPrimero, NombrePrimero; 


SELECT Tarjeta.CodTarjeta, Tarjeta.NumeroTarjeta,
     Tarjeta.FecVencimiento, Tarjeta.LimiteCredito,
     Tarjeta.SaldoActual, Tarjeta.FecSaldo,
     Movimiento.CodMovimiento, Movimiento.Cargo,
     Movimiento.Abono,  Movimiento.Fecha,
     Cliente.NombrePrimero, Cliente.ApellidoPrimero
FROM Tarjeta
     INNER JOIN Movimiento
         ON Tarjeta.CodTarjeta = Movimiento.CodTarjeta
     INNER JOIN Cliente
         ON Tarjeta.CodCliente = Cliente.CodCliente
WHERE (Tarjeta.NumeroTarjeta = '4111110506895880');


SELECT MAX(Cargo) AS Cargo
     FROM Movimiento;


SELECT COUNT(DISTINCT Cargo) AS Cantidad
     FROM Movimiento;


SELECT Cargo, COUNT(Cargo) AS Cantidad
     FROM Movimiento   
     GROUP BY Cargo
     HAVING COUNT(Cargo) > 3
     ORDER BY Cargo, COUNT(Cargo);


SELECT Cliente.CodCliente, Tarjeta.CodTarjeta
     FROM Cliente
     INNER JOIN Tarjeta
         ON Cliente.CodCliente = Tarjeta.CodCliente
     WHERE ApellidoPrimero = 'Adams'
     ORDER BY Cliente.CodCliente;


INSERT INTO Movimiento
     (CodTarjeta, Cargo, Fecha)
VALUES
     ( 1075, 1250, GETDATE());


SELECT *
     FROM Movimiento
     WHERE Cargo = 1250;





No hay comentarios.:

Publicar un comentario