SAS - SQL

SAS oferuje szerokie wsparcie dla większości popularnych relacyjnych baz danych za pomocą zapytań SQL wewnątrz programów SAS. WiększośćANSI SQLskładnia jest obsługiwana. ProceduraPROC SQLsłuży do przetwarzania instrukcji SQL. Ta procedura może nie tylko zwrócić wynik zapytania SQL, ale może również utworzyć tabele i zmienne SAS. Przykłady wszystkich tych scenariuszy opisano poniżej.

Składnia

Podstawowa składnia używania PROC SQL w SAS to -

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

Poniżej znajduje się opis użytych parametrów -

  • zapytanie SQL jest zapisywane pod instrukcją PROC SQL, po której następuje instrukcja QUIT.

Poniżej zobaczymy, jak ta procedura SAS może być używana dla CRUD (Tworzenie, odczytywanie, aktualizowanie i usuwanie) operacji w języku SQL.

Operacja tworzenia SQL

Używając SQL możemy stworzyć nowy zestaw danych z surowych danych. W poniższym przykładzie najpierw deklarujemy zbiór danych o nazwie TEMP zawierający surowe dane. Następnie piszemy zapytanie SQL, aby utworzyć tabelę ze zmiennych tego zestawu danych.

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;

Po wykonaniu powyższego kodu otrzymujemy następujący wynik -

Operacja odczytu SQL

Operacja odczytu w języku SQL polega na pisaniu zapytań SQL SELECT w celu odczytania danych z tabel. W poniższym programie odpytuje zbiór danych SAS o nazwie CARS dostępny w bibliotece SASHELP. Zapytanie pobiera niektóre kolumny zestawu danych.

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

Po wykonaniu powyższego kodu otrzymujemy następujący wynik -

SQL SELECT z klauzulą ​​WHERE

Poniższy program odpytuje zestaw danych CARS za pomocą pliku whereklauzula. W rezultacie otrzymujemy tylko obserwacje, które mają markę „Audi” i wpisz „Sport”.

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

Po wykonaniu powyższego kodu otrzymujemy następujący wynik -

Operacja SQL UPDATE

Możemy zaktualizować tabelę SAS za pomocą instrukcji SQL Update. Poniżej najpierw tworzymy nową tabelę o nazwie EMPLOYEES2, a następnie aktualizujemy ją za pomocą instrukcji SQL UPDATE.

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;

Po wykonaniu powyższego kodu otrzymujemy następujący wynik -

Operacja SQL DELETE

Operacja usuwania w języku SQL polega na usunięciu określonych wartości z tabeli za pomocą instrukcji SQL DELETE. Nadal korzystamy z danych z powyższego przykładu i usuwamy wiersze z tabeli, w której pensje pracowników są większe niż 900.

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

Po wykonaniu powyższego kodu otrzymujemy następujący wynik -