SQL VIEW-FQN Kullanimi
SQL VIEW & SQL FQN Kullanımı
Bir sorgu içerisinde çok fazla işlem gerçekleştiriyorlarsa ve üstüne üstlük bu sorguyu defalarca kullanmamız gerekiyorsa, sorguyu defalarca yazmak yerine SQL server'ın bize sunmuş olduğunu nesne olan VIEW nesnesini kullanabiliriz.
CREATE VIEW <ViewAdi>
AS
<Sorgu>
NOT : C# metotlar gibi düşüne bilirsiniz bunu aynısı değilde mantık olarak oturması için söylüyorum neden mi oluşturduğumuz raporu istediğimiz zaman tekrardan kısa bir komut ile çağırmak için kullana biliriz.
SORU : CENTC ID'sine sahip müşterilerin(Customer) almış olduğu Siparişlerin, SiparisID,SiparisTarihi,MusteriID,SirketAdi raporlayınız.
CREATE VIEW Siparislerigetir
AS
select o.OrderID as 'SiparisNo',
o.OrderDate as 'Siparis Tarihi',
c.CustomerID as 'Müşteri Kodu',
c.ContactName as 'Yetkili',
c.CompanyName as 'Firma Adı'
from Customers c
JOIN Orders o ON c.CustomerID=o.CustomerID
where c.CustomerID='CENTC'
SQL CREATE VIEW |
Şimdi oluşturduk ee biz bunu nasıl kullana biliriz ? nasıl kod ile kullanılacak kardeşim.?
select * from Siparislerigetir
SQL VIEW |
Nereye eklendi bakalım nereden ulaşıyoruz.
VIEW |
SORU : Speedy Express ile taşınmış, (Shippers) Nancy'nin almış olduğu, (Employees) DUMON YA DA ALFKI ID'li müşteriler (Customer) tarafından verilmiş olan siparişleri (Orders) raporlayan VIEW'ı oluşturunuz.
CREATE VIEW VW_SpeedyIleTasinmisNANCY
as
SELECT
o.OrderID,o.OrderDate,c.CompanyName as 'Müşteri',
s.CompanyName as 'Kargo',e.FirstName + ' ' + e.LastName as 'AdSoyad'
FROM Customers c
JOIN Orders o ON o.CustomerID = c.CustomerID
JOIN Employees e ON e.EmployeeID = o.EmployeeID
JOIN Shippers s ON s.ShipperID = o.ShipVia
WHERE
s.CompanyName = 'Speedy Express' AND e.FirstName = 'Nancy'
AND c.CustomerID IN ('DUMON','ALFKI')
select * from VW_SpeedyIleTasinmisNANCY
------------------------------------------------
SORU : ORTALAMA SATIŞ MİKTARININ(Para Bazlı) ÜZERİNE ÇIKAN SATIŞLARIM NELERDİR? VIEW İLE
CREATE VIEW VW_OrtalamaninUstundekiSiparisler
AS
SELECT od.OrderID,
SUM(od.UnitPrice * od.Quantity * (1 - od.Discount)) AS SiparisBazliPara
FROM [Order Details] od
GROUP BY od.OrderID
HAVING SUM(od.UnitPrice * od.Quantity * (1 - od.Discount)) >
(SELECT AVG(SipariseGoreSatisMiktari.SiparisBazliPara) FROM (
SELECT od.OrderID,
SUM(od.UnitPrice * od.Quantity * (1 - od.Discount)) AS SiparisBazliPara
FROM [Order Details] od
GROUP BY od.OrderID) as SipariseGoreSatisMiktari )
SORU : ORTALAMANIN VIEW'INI OLUŞTURMAK
GO
CREATE VIEW VW_SiparisTutariOrtalamasi
AS
SELECT AVG(SipariseGoreSatisMiktari.SiparisBazliPara) AS SiparisOrtalamasi FROM (
SELECT od.OrderID,
SUM(od.UnitPrice * od.Quantity * (1 - od.Discount)) AS SiparisBazliPara
FROM [Order Details] od
GROUP BY od.OrderID) as SipariseGoreSatisMiktari
FQN (Fully Qualified Name)
[ServerName].[DatabaseName].[ShemaName].[ObjectName]
SELECT * FROM sys.servers
SQL FQN |
SELECT * FROM [Name alanını yazın buraya].NORTHWND.dbo.Orders
SQL FQN Kullanımı |
Yorumlar
Yorum Gönder