1. SQL 권한
2. With 문 in SQL
1. SQL 권한
- SQL 이란,, from ChatGPT
SQL은 Structured Query Language의 약어로, 관계형 데이터베이스 시스템(RDBMS)에서 자료를 관리하고 처리하기 위해 설계된 언어입니다. SQL은 IBM에서 1970년대에 최초로 개발되었으며, 관계형 모델 이론에서 파생된 특징을 가지고 있습니다. SQL은 데이터를 검색, 수정, 삽입, 삭제하기 위한 구문을 제공하며, 데이터베이스의 구조를 정의하고 조작할 수 있는 기능을 제공합니다. SQL을 사용하여 데이터베이스에서 필요한 정보를 검색하고 조작할 수 있으며, 대부분의 데이터베이스 시스템에서 지원되는 표준 언어입니다. |
- SQL에서는 권한을 admin 마음대로 설정할 수 있음
- CREATE TABLE 권한이 없을때!!
- with 문을 사용하여 가상테이블을 여러개 만들어 join하여 하나의 table로 볼 수 있음.
2. With 문 in SQL
- With 구문이란?,, from ChatGPT
WITH 구문은 SQL 쿼리 내에서 임시 결과 집합을 정의하여 사용할 수 있는 구문입니다. 이 구문은 "Common Table Expressions (CTE)"라고도 불리며, 중첩 쿼리를 대체할 수 있는 장점을 가지고 있습니다. WITH 구문의 첫 번째 장점은 중첩 쿼리를 대체할 수 있다는 것입니다. 중첩 쿼리는 읽기 어렵고 유지보수하기 어려우며 성능 이슈를 유발할 수 있습니다. WITH 구문을 사용하면 중첩 쿼리를 대체하여 가독성과 유지보수성을 높일 수 있습니다. 두 번째 장점은 WITH 구문을 사용하면 쿼리의 재사용성을 높일 수 있다는 것입니다. 하나의 CTE를 여러 쿼리에서 참조할 수 있으며, 이를 통해 중복 코드를 줄이고 쿼리 작성 시간을 단축할 수 있습니다. 단점으로는 WITH 구문이 사용되는 경우 일반적으로 쿼리의 성능이 조금 떨어질 수 있다는 것입니다. 그러나 이 단점은 데이터베이스 시스템에 따라 다를 수 있으며, 적절한 인덱스를 사용하고 최적화된 쿼리를 작성하면 이 단점을 최소화할 수 있습니다. |
- Sample code
WITH
temp1 AS (
SELECT col1, col2
FROM table1
WHERE col3 = 'value'
),
temp2 AS (
SELECT col1, col3
FROM table2
)
SELECT *
FROM temp1
LEFT JOIN temp2
ON temp1.col1 = temp2.col1;