[기초] SQL 구문 정리 [ChatGPT]
Nowhere 와 Now here 의 차이

IT/ㄴ Database

[기초] SQL 구문 정리 [ChatGPT]

TIENE 2023. 8. 17. 12:01
반응형

SQL 구문 정리


SQL (Structured Query Language) 

- 관계형 데이터베이스를 관리하고 조작하기 위해 고안된 프로그래밍 언어

- 데이터베이스와 상호작용하기 위한 정형화된 방식을 제공하는데, 데이터를 쿼리하고 레코드를 업데이트하며, 테이블을 생성하는 작업을 수행할 수 있도록 한다.

 

1. SQL Statements

- 데이터베이스에서 다양한 운영방식을 제공하기 위해 사용되는 일련의 구문을 제공한다.

- 각 구문들은 목적에 따라서, 타입별로 구분된다.

Data Manipulation Language (DML) Data Definition Language
(DDL)
Data Control Language
(DCL)
Transaction Control Language (TCL)

 

2. Data Manipulation Language (DML)

- 데이터 조작 언어(DML)는 데이터베이스에서 데이터를 조회 / 삽입 / 변경 / 삭제하기 위해 사용된다.

SELECT
 (retrieves data)
SELECT FirstName, LastName, Salary FROM Employees WHERE Department = 'Sales';
INSERT
(adds new records)
INSERT INTO Employees (EmployeeID, FirstName, LastName, Department, Salary) 
VALUES (5, 'Sarah', 'Johnson', 'Marketing', 58000.00);
UPDATE
(modifies data)
UPDATE Employees SET Salary = Salary * 1.1 WHERE Department = 'Marketing';
DELETE
(removes records)
DELETE FROM Employees  WHERE LastName = 'Smith';

 

3. Data Definition Language (DDL)

- 데이터 정의 언어(DDL)은 데이터베이스 스키마를 정의 / 조작 삭제하기 위해 사용된다.

CREATE
(Creating a new table)
CREATE TABLE Customers (
    CustomerID INT PRIMARY KEY,
    FirstName VARCHAR(50),
    LastName VARCHAR(50),
    Email VARCHAR(100)
);
ALTER
(Modifying an existing table)
ALTER TABLE Employees
ADD COLUMN BirthDate DATE;
DROP
(Deleting a table)
DROP TABLE Customers;

 

4. Data Control Language (DCL)

- 데이터 제어 언어는 데이터베이스의 허가 및 접근 권한을 관리하기 위해 사용된다.

GRANT 
(gives permissions)
GRANT SELECT, INSERT, UPDATE ON Employees TO user123;
REVOKE
(revokes permissions)
REVOKE SELECT ON Customers FROM user123;


5. Transaction Control Language (TCL)

- 트랜잭션 제어 언어(TCL)는 트랜잭션을 고나리하고 데이터 연속 일관성을 보장하기 위해 사용된다.

COMMIT 
(saves changes)
COMMIT;
ROLLBACK
(undoes changes)
ROLLBACK;

 

6. Joins

- JOIN 명령어를 사용해서, 다수의 테이블의 데이터를 합칠 수 있다.
- 다양한 타입의 JOIN들을 사용하여 데이터를 어떻게 결합하고 조합할 것인지 조절할 수 있다.

INNER JOIN LEFT JOIN RIGHT JOIN FULL JOIN


7. Filtering, Sorting, and Grouping 

WHERE = 조건을 기준으로 행을 필터링
WHERE SELECT FirstName, LastName FROM Employees WHERE Salary > 55000.00;
ORDER BY = 지정된 열로 설정된 결과를 정렬
ORDER BY SELECT FirstName, LastName, Salary FROM Employees ORDER BY Salary DESC;
GROUP BY= 집계를 위한 열을 기준으로 행을 그룹화
GROUP BY SELECT DepartmentID, AVG(Salary) AS AvgSalary FROM Employees GROUP BY DepartmentID
HAVING= 조건을 기준으로 집계된 결과를 필터링
HAVING SELECT DepartmentID, AVG(Salary) AS AvgSalary FROM Employees GROUP BY DepartmentID
HAVING AVG(Salary) > 55000.00;

 

8. Aggregation

- 데이터베이스에서 조건에 맞는 값을 집계하기 위해, 다양한 기능을 제공한다.

구별 구문 결과
COUNT SELECT COUNT(*) AS TotalEmployees
FROM Employees;
4
SUM SELECT SUM(Salary) AS TotalSalary
FROM Employees;
213000.00
 AVG SELECT AVG(Salary) AS AverageSalary
FROM Employees;
53250.00
MIN SELECT MIN(Salary) AS LowestSalary
FROM Employees;
48000.00
MAX SELECT MAX(Salary) AS HighestSalary
FROM Employees;
60000.00

반응형