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

Bu blogdaki popüler yayınlar

En İyi 20 Hacker Duvar Kağıtları