SQL
[MSSQL] INNER, LEFT, RIGHT, FULL JOIN 쿼리 사용 방법
MS SQL에서 JOIN은 두 개 이상의 테이블에서 데이터를 가져와 연결하는 방법입니다. JOIN을 사용하면 여러 테이블의 데이터를 하나의 테이블처럼 조회할 수 있습니다. MS SQL에서는 다양한 JOIN 방법을 제공합니다. 1. INNER JOIN: INNER JOIN은 두 개의 테이블에서 공통된 값을 가지는 행만을 연결하는 방법입니다. SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; 위 쿼리는 table1과 table2에서 공통된 column_name 값을 가지는 행만을 가져와 column_name(s)를 반환합니다. 2. LEFT JOIN: LEFT JOIN은 첫 번째 테이블의..
[MSSQL] IS NULL 사용 방법
MS SQL에서 IS NULL 조건은 특정 열이 NULL 값을 가지는 행을 찾을 때 사용됩니다. 예를 들어, customers 테이블에서 address 열이 NULL 값을 가지는 모든 행을 검색하려면 다음과 같이 쿼리를 작성할 수 있습니다. SELECT * FROM customers WHERE address IS NULL; 위 쿼리는 customers 테이블에서 address 열이 NULL 값을 가지는 모든 행을 반환합니다. 또한, IS NOT NULL 조건은 특정 열이 NULL 값을 가지지 않는 행을 찾을 때 사용됩니다. 예를 들어, orders 테이블에서 order_date 열이 NULL 값을 가지지 않는 모든 행을 검색하려면 다음과 같이 쿼리를 작성할 수 있습니다. SELECT * FROM orde..
[MYSQL] Copy table, Insert Into / 테이블 복사 쿼리
MySQL에서 테이블을 복사하는 쿼리는 CREATE TABLE 문을 사용하여 수행할 수 있습니다. 복사하려는 테이블의 이름, 구조 및 데이터 유형을 모두 새 테이블에 복사합니다. 아래는 MySQL에서 테이블을 복사하는 데 사용되는 기본 쿼리입니다. CREATE TABLE new_table_name LIKE old_table_name; 위의 쿼리에서 new_table_name은 새로 생성 할 테이블 이름을 나타내고, old_table_name은 복사 할 원본 테이블 이름을 나타냅니다. 새로운 테이블을 생성한 후에는 INSERT INTO 문을 사용하여 데이터를 새 테이블에 삽입 할 수 있습니다. INSERT INTO new_table_name SELECT * FROM old_table_name; 위의 쿼리에..
[MSSQL] Insert Into / 데이터 삽입 쿼리
MS SQL Server에서 데이터를 삽입하는 방법은 INSERT INTO 문을 사용하는 것입니다. 아래는 INSERT INTO 문을 사용하여 새로운 행을 삽입하는 기본적인 예제입니다. INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...); 위의 쿼리에서 table_name은 데이터를 삽입할 대상 테이블의 이름입니다. column1, column2, column3 등은 삽입 할 데이터의 열 이름이며, value1, value2, value3 등은 해당 열에 삽입 될 데이터 값입니다. 예를 들어, employees라는 테이블에 새로운 직원 데이터를 삽입하는 예제를 살펴 보겠습니다. employe..
[MSSQL] Dateadd 함수 사용법
SQL Server에서 'DATEADD' 함수는 날짜나 시간에 대한 연산을 수행하는 함수입니다. 이 함수는 특정 날짜나 시간에 대해 지정된 시간 간격을 더하거나 빼는 데 사용됩니다. 다음은 DATEADD 함수의 기본 구문입니다. DATEADD (datepart, number, date) datepart: 시간 간격을 지정합니다. 예를 들어, year, month, day, hour, minute, second, millisecond 등의 값을 사용할 수 있습니다. number: datepart에 지정된 시간 간격에 대해 더하거나 빼는 값을 지정합니다. date: 시간 간격을 더하거나 빼고자 하는 날짜 또는 시간 값입니다. 예를 들어, 다음은 현재 날짜와 시간에 10분을 추가하는 방법입니다. SELECT ..
[MSSQL] Select Into / 테이블 복사 쿼리 사용 방법
다음은 SELECT INTO문을 사용하여 테이블을 복사하는 예시입니다. SELECT * INTO new_table FROM original_table; 위 예시에서 new_table은 복사된 새로운 테이블의 이름을 나타내고, original_table은 복사할 기존 테이블의 이름입니다. * 는 모든 열을 선택하는 것을 의미합니다. 위 예시를 사용하면, original_table의 모든 행과 열이 new_table로 복사됩니다. 또 다른 방법으로는 INSERT INTO문을 사용하는 것입니다. 이 방법은 기존 테이블과 동일한 스키마를 가진 새로운 테이블을 만들고, 기존 테이블의 데이터를 새로운 테이블에 복사하는 방법입니다. CREATE TABLE new_table AS SELECT * FROM origina..
[MYSQL] Date_add 함수 사용 방법
MySQL에서는 DATE_ADD() 함수를 사용하여 날짜에 일, 시간, 분, 초 등을 더할 수 있습니다. DATE_ADD() 함수는 다음과 같은 구문을 가집니다. DATE_ADD(date, INTERVAL expr unit) date: 날짜 또는 시간 값을 나타내는 유효한 MySQL 표현식입니다. 예를 들어 NOW() 함수를 사용하여 현재 날짜와 시간을 나타낼 수 있습니다. expr: 더할 값입니다. 음수 값을 사용하면 날짜나 시간을 빼도록 할 수 있습니다. unit: expr에 지정된 값의 단위입니다. YEAR, MONTH, DAY, HOUR, MINUTE, SECOND 등이 가능합니다. 예를 들어, 현재 날짜와 시간에 3일을 더하려면 다음과 같이 작성합니다. SELECT DATE_ADD(NOW(), ..
[MYSQL] With 절 사용 방법
MySQL에서 'WITH'절은 서브쿼리를 만들고 재사용 가능한 공통 테이블 표현식(Common Table Expression, CTE)을 정의하는 방법입니다. WITH절을 사용하여 쿼리를 단순화하고 가독성을 높일 수 있습니다. 다음은 WITH절을 사용하는 기본적인 구문입니다. WITH [cte_name] AS ( SELECT [column_name(s)] FROM [table_name] WHERE [condition] ) SELECT [column_name(s)] FROM [table_name] JOIN [cte_name] ON [join_condition] WHERE [condition]; 위 구문에서 cte_name은 임의의 이름으로, 서브쿼리에서 반환된 결과를 참조할 수 있는 임시 테이블의 이름입니..
[MSSQL] With 절 사용 방법
MS SQL Server에서 WITH 절은 일시적인 서브쿼리를 생성하는 방법 중 하나입니다. 이 서브쿼리는 WITH 절 뒤에 정의된 이름을 가지며, 이 이름을 사용하여 서브쿼리 결과를 참조할 수 있습니다. 이러한 구문을 "공통 테이블 식(Common Table Expression, CTE)"이라고도 부릅니다. WITH 절은 보다 복잡한 쿼리를 작성할 때 유용하며, 코드 가독성을 높이고 중복을 줄일 수 있습니다. 일반적으로 WITH 절은 두 가지 방식으로 사용됩니다. 1. WITH 절과 함께 서브쿼리 사용하기 WITH sales_data AS ( SELECT customer_id, SUM(amount) AS total_sales FROM sales GROUP BY customer_id ) SELECT cu..
[MYSQL] Create Temp Table / 임시 테이블 생성 쿼리
MySQL에서 임시 테이블을 생성하려면 CREATE TEMPORARY TABLE 문을 사용합니다. 임시 테이블은 현재 세션에서만 유지되며 세션이 종료되면 자동으로 삭제됩니다. 다음은 임시 테이블을 생성하고 데이터를 삽입하는 샘플 쿼리입니다. CREATE TEMPORARY TABLE temp_table ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255), age INT, PRIMARY KEY (id) ); INSERT INTO temp_table (name, age) VALUES ('John', 25); INSERT INTO temp_table (name, age) VALUES ('Jane', 30); 위의 쿼리에서는 temp_table이라는 임시 테이블을 생성하고..