CREATE TABLE Araclar
(
Id int primary key identity(1,1) not null,
Marka nvarchar(40) not null,
Plaka nvarchar(10) not null,
YapimYili datetime not null,
constraint YapimYili check (datediff(YEAR, YapimYili, getDate()) < 10), -- 10 yaşından büyük araçlar kayıt edilmez.
unique (Plaka) -- Aynı plakadan 2. kez girilemez.
)
-- Aynı plaka ile 2 adet kayıt denemesi
INSERT INTO Araclar
Values('Toyota', '34 ZA 2111', '01.01.2004')
-- 10 yaşından büyük araç kaydı denemesi
INSERT INTO Araclar
Values('Toyota', '06 ZA 2111', '01.01.2001')
-- ALTER YAPISI
-- CREATE ile oluşturulmuş objelerin özelliklerini değiştirmek için alter yapısı kullanılır.
ALTER TABLE Araclar
ALTER Column Marka nvarchar(50) not null
-- ÖDÜLLÜ : Tipi int olan MotorGucu kolonu ile adlandıracağınız, Araclar tablosuna bir adet kolon ekleyin. null olsun.
ALTER TABLE Araclar
Add MotorGucu int null
-- Motogucu kolonunu kaldırma işlemi
ALTER TABLE Araclar
Drop column MotorGucu
USE Northwind
-- Amerikalı müşterilerden alınmış olan siparişleri listeleyen bir sorgu tasarlayınız. (CustomerID, CompanyName, OrderID, OrderDate)
CREATE VIEW Amerikalilar
AS
SELECT c.CustomerID, CompanyName, OrderID, OrderDate FROM Orders o
JOIN Customers c
ON
c.CustomerID = o.CustomerID
WHERE c.Country = 'USA'
--TEST
SELECT * FROM Amerikalilar
SELECT CompanyName FROM Amerikalilar
-- Speedy Express ile taşınmış, Nancy'nin almış olduğu, Pazartei günleri DUMON ya da ALFKI ID'li müşteriler tarafından verilmiş olan siparişleri saklayan bir view oluşturunuz.
CREATE VIEW NaciyeninSiparisleri
AS
SELECT o.OrderID, o.OrderDate, s.CompanyName, e.FirstName, c.CustomerID FROM Orders o
JOIN Customers c
ON c.CustomerID = o.CustomerID
JOIN Employees e
ON e.EmployeeID = o.EmployeeID
JOIN Shippers s
ON s.ShipperID = o.ShipVia
WHERE e.FirstName = 'Nancy'
AND s.CompanyName = 'Speedy Express'
AND c.CustomerID in ('ALFKI', 'DUMON')
AND DATENAME(WEEKDAY, OrderDate) = 'Monday'
-- TEST
SELECT * FROM NaciyeninSiparisleri
Hiç yorum yok:
Yorum Gönder