SAS - SQL

SAS, SAS programları içindeki SQL sorgularını kullanarak popüler ilişkisel veritabanlarının çoğuna kapsamlı destek sunar. ÇoğuANSI SQLsözdizimi desteklenir. ProsedürPROC SQLSQL ifadelerini işlemek için kullanılır. Bu prosedür yalnızca bir SQL sorgusunun sonucunu geri vermekle kalmaz, aynı zamanda SAS tabloları ve değişkenleri de oluşturabilir. Tüm bu senaryoların örnekleri aşağıda açıklanmıştır.

Sözdizimi

SAS'da PROC SQL kullanmak için temel sözdizimi şudur:

PROC SQL;
SELECT Columns
FROM TABLE
WHERE Columns
GROUP BY Columns
;
QUIT;

Aşağıda kullanılan parametrelerin açıklaması verilmiştir -

  • SQL sorgusu PROC SQL ifadesinin altına ve ardından QUIT ifadesine yazılır.

Aşağıda bu SAS prosedürünün aşağıdakiler için nasıl kullanılabileceğini göreceğiz. CRUD SQL'de (Oluşturma, Okuma, Güncelleme ve Silme) işlemleri.

SQL Oluşturma İşlemi

SQL kullanarak ham verilerden yeni veri seti oluşturabiliriz. Aşağıdaki örnekte, önce ham verileri içeren TEMP adlı bir veri kümesi bildiriyoruz. Daha sonra bu veri setinin değişkenlerinden bir tablo oluşturmak için bir SQL sorgusu yazıyoruz.

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

PROC SQL;
CREATE TABLE EMPLOYEES AS
SELECT * FROM TEMP;
QUIT;

PROC PRINT data = EMPLOYEES;
RUN;

Yukarıdaki kod çalıştırıldığında aşağıdaki sonucu alırız -

SQL Okuma İşlemi

SQL'deki Okuma işlemi, tablolardan verileri okumak için SQL SELECT sorguları yazmayı içerir. Aşağıdaki program, SASHELP kütüphanesinde bulunan CARS adlı SAS veri setini sorgular. Sorgu, veri kümesinin bazı sütunlarını getirir.

PROC SQL;
SELECT make,model,type,invoice,horsepower
FROM 
SASHELP.CARS
;
QUIT;

Yukarıdaki kod çalıştırıldığında aşağıdaki sonucu alırız -

WHERE Cümlesi ile SQL SELECT

Aşağıdaki program, CARS veri setini bir wherefıkra. Sonuçta sadece 'Audi' ve türü 'Spor' olarak yapılmış gözlemi elde ederiz.

PROC SQL;
SELECT make,model,type,invoice,horsepower
FROM 
SASHELP.CARS
Where make = 'Audi'
and Type = 'Sports'
;
QUIT;

Yukarıdaki kod çalıştırıldığında aşağıdaki sonucu alırız -

SQL UPDATE İşlemi

SAS tablosunu SQL Update deyimini kullanarak güncelleyebiliriz. Aşağıda ilk olarak EMPLOYEES2 adında yeni bir tablo oluşturup ardından SQL UPDATE deyimini kullanarak güncelliyoruz.

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

PROC SQL;
CREATE TABLE EMPLOYEES2 AS
SELECT ID as EMPID,
Name as EMPNAME ,
SALARY as SALARY,
DEPARTMENT as DEPT,
SALARY*0.23 as COMMISION
FROM TEMP;
QUIT;

PROC SQL;
UPDATE EMPLOYEES2
      SET SALARY = SALARY*1.25;
   QUIT;
      PROC PRINT data = EMPLOYEES2;
RUN;

Yukarıdaki kod çalıştırıldığında aşağıdaki sonucu alırız -

SQL DELETE İşlemi

SQL'deki silme işlemi, SQL DELETE deyimini kullanarak tablodan belirli değerleri kaldırmayı içerir. Yukarıdaki örnekteki verileri kullanmaya devam ediyor ve çalışanların maaşının 900'den fazla olduğu tablodaki satırları silmeye devam ediyoruz.

PROC SQL;
DELETE FROM EMPLOYEES2
      WHERE SALARY > 900;
QUIT;
      PROC PRINT data = EMPLOYEES2;
RUN;

Yukarıdaki kod çalıştırıldığında aşağıdaki sonucu alırız -