truncate()
: 잘라내기, 소수점 이하를 단순히 잘라냄.
-- 333
select truncate(333.727, 0)
from dual;

--- 333.72
select truncate(333.727, 2)
from dual;

 

 

round()
: 반올림, 소수점 이하 n자리를 반올림해서 반환
--- 123
select round(333.727, 0)
from dual;

-- 123
select round(333.727, 2)
from dual;

'Computer Science > DB' 카테고리의 다른 글

SQL Joins 도식  (1) 2025.02.05
[스크랩] MySQL 함수 99개 총정리  (2) 2025.02.04
[스크랩] MySQL 완전 삭제 후 설치 방법  (0) 2025.02.03
[SQL] 쿼리 문법 정리  (1) 2025.01.07

'Computer Science > DB' 카테고리의 다른 글

[MySQL] truncate(), round()  (1) 2025.02.05
[스크랩] MySQL 함수 99개 총정리  (2) 2025.02.04
[스크랩] MySQL 완전 삭제 후 설치 방법  (0) 2025.02.03
[SQL] 쿼리 문법 정리  (1) 2025.01.07

원문출처: https://bommbom.tistory.com/entry/MySQL-%EB%82%B4%EC%9E%A5-%ED%95%A8%EC%88%98-%EC%B4%9D%EC%A0%95%EB%A6%AC#1._%EB%AC%B8%EC%9E%90%EC%97%B4_%ED%95%A8%EC%88%98


1. 문자열 함수

문자열 함수는 텍스트를 처리할 때 주로 사용되는데요. 예를 들어, 이름이나 주소와 같은 데이터를 다룰 때 많이 사용됩니다.

함수명 설명 예시 결과
CONCAT()  여러 문자열을 하나로 합침  CONCAT('Hello','','World!') Hello World!
SUBSTRING()  문자열의 일부를 추출  SUBSTRING('HelloWorld!',7,5) World
LENGTH()  문자열의 길이를 반환  LENGTH('Hello') 5
UPPER() 문자열을 대문자로 변환합니다. UPPER('hello') HELLO
LOWER() 문자열을 소문자로 변환합니다. LOWER('HELLO') hello
TRIM() 문자열의 앞뒤 공백을 제거합니다. TRIM(' Hello ') Hello
LTRIM() 문자열의 앞쪽 공백을 제거합니다. LTRIM(' Hello') Hello
RTRIM() 문자열의 뒤쪽 공백을 제거합니다. RTRIM('Hello ') Hello
REPLACE() 문자열에서 특정 부분을 다른 문자열로 대체합니다. REPLACE('Hello World', 'World' 'MySQL') Hello MySQL
INSTR() 문자열 내에서 특정 문자열의 위치를 반환합니다. INSTR('Hello World' 'World') 7
LEFT() 문자열의 왼쪽에서 지정한 길이만큼의 부분을 반환합니다. LEFT('Hello World', 5) Hello
RIGHT() 문자열의 오른쪽에서 지정한 길이만큼의 부분을 반환합니다. RIGHT('Hello World', 5) World
REPEAT() 문자열을 지정한 횟수만큼 반복합니다. REPEAT('MySQL', 3) MySQLMySQLMySQL
REVERSE() 문자열을 뒤집습니다. REVERSE('MySQL') LQSyM
LPAD() 문자열의 왼쪽에 지정한 문자로 채워서 지정한 길이로 만듭니다. LPAD('123', 5, '0') 00123
RPAD() 문자열의 오른쪽에 지정한 문자로 채워서 지정한 길이로 만듭니다. RPAD('123', 5, '0') 12300
CHAR_LENGTH() 문자열의 길이를 반환합니다. (문자의 개수 바이트 단위가 아님) CHAR_LENGTH('Hello') 5
SUBSTRING_INDEX() 문자열에서 지정한 구분자를 기준으로 부분 문자열을 반환합니다. SUBSTRING_INDEX('a,b,c,d', ',',2) a, b
FIND_IN_SET() 문자열이 리스트 내에서 몇 번째 위치에 있는지 반환합니다. (쉼표로 구분된 리스트) FIND_IN_SET('b', 'a,b,c') 2
FORMAT() 숫자를 문자열로 변환하고 지정한 형식으로 포맷팅합니다. FORMAT(1234567.89, 2) 1234567.89

 

2. 수학 함수

수학 함수는 숫자 계산을 할 때 주로 사용됩니다. 합계를 구하거나 평균을 내는 등 다양한 계산에 유용합니다.

함수명 설명 예시 결과
ROUND()  숫자를 반올림  ROUND(3.14159,2) 3.14
FLOOR()  주어진 숫자보다 작거나 같은 가장 큰 정수를 반환  FLOOR(2.9) 2
ABS()  숫자의 절대값을 반환  ABS(-5) 5
CEIL()  주어진 숫자보다 크거나 같은 가장 작은 정수를 반환합니다.  CEIL(2.3) 3
CEILING()  `CEIL()`의 동의어로, 동일한 기능을 수행합니다.  CEILING(2.3) 3
FLOOR()  주어진 숫자보다 작거나 같은 가장 큰 정수를 반환합니다.  FLOOR(2.9) 2
ROUND()  숫자를 반올림합니다.  ROUND(3.14159, 2) 3.14
TRUNCATE()  숫자를 소수점 아래에서 지정한 자리까지 잘라냅니다.  TRUNCATE(3.14159, 2) 3.14
MOD()  나머지 연산을 수행하여 나머지를 반환합니다.  MOD(10, 3) 1
POW()  주어진 숫자를 거듭제곱합니다. (동의어: `POWER()`)  POW(2, 3) 8
POWER()  주어진 숫자를 거듭제곱합니다.  POWER(2, 3) 8
SQRT()  주어진 숫자의 제곱근을 반환합니다.  SQRT(16) 4
EXP()  주어진 숫자의 지수승(자연로그의 역수)을 계산합니다.  EXP(1) 2.718281828
LOG()  주어진 숫자의 자연 로그를 계산합니다.  LOG(10) 2.302585093
LOG10()  주어진 숫자의 10 로그를 계산합니다.  LOG10(1000) 3
LOG2()  주어진 숫자의 2 로그를 계산합니다.  LOG2(8) 3
PI()  원주율 π (3.141592653589793)을 반환합니다.  PI() 3.141592654
RADIANS()  각도를 라디안으로 변환합니다.  RADIANS(180) 3.141592654
DEGREES()  라디안을 각도로 변환합니다.  DEGREES(PI()) 180
SIN()  주어진 각도의 사인 값을 반환합니다.  SIN(PI()/2) 1
COS()  주어진 각도의 코사인 값을 반환합니다.  COS(PI()) -1
TAN()  주어진 각도의 탄젠트 값을 반환합니다.  TAN(PI()/4) 1
SIGN()  숫자의 부호를 반환합니다. (양수는 1, 음수는 -1, 0은 0)  SIGN(-10) -1
RAND()  0과 1 사이의 랜덤 값을 반환합니다.  RAND() 예:0.673847238402
GREATEST()  주어진 인수들 중에서 가장 큰 값을 반환합니다.  GREATEST(1, 5, 3, 9) 9
LEAST()  주어진 인수들 중에서 가장 작은 값을 반환합니다.  LEAST(1, 5, 3, 9) 1

 

3. 날짜와 시간 함수

날짜와 시간 함수는 시간과 관련된 데이터를 처리할 때 사용됩니다. 예를 들어, 날짜를 다른 형식으로 변환한다거나 할 때 많이 사용됩니다. 

함수명 설명 예시 결과
NOW()  현재 날짜와 시간을 반환  NOW()  현재 날짜와 시간 
DATE_ADD()  날짜에 특정 기간을 더함  DATE_ADD('2023-08-27',INTERVAL10DAY)  `2023-09-06` 
DATEDIFF()  두 날짜 사이의 차이를 계산  DATEDIFF('2023-09-06','2023-08-27')  `10` 
CURDATE()  현재 날짜를 `YYYY-MM-DD` 형식으로 반환합니다.  CURDATE()  예: `2024-08-27` 
CURTIME()  현재 시간을 `HH:MM:SS` 형식으로 반환합니다.  CURTIME()  예: `14:30:00` 
DATE()  날짜 부분만 추출합니다.  DATE('2024-08-27 14:30:00')  `2024-08-27` 
YEAR()  주어진 날짜의 연도를 반환합니다.  YEAR('2024-08-27')  `2024` 
MONTH()  주어진 날짜의 월을 반환합니다.  MONTH('2024-08-27')  `8` 
DAY()  주어진 날짜의 일을 반환합니다.  DAY('2024-08-27')  `27` 
HOUR()  주어진 시간의 시간을 반환합니다.  HOUR('14:30:00')  `14` 
MINUTE()  주어진 시간의 분을 반환합니다.  MINUTE('14:30:00')  `30` 
SECOND()  주어진 시간의 초를 반환합니다.  SECOND('14:30:45')  `45` 
WEEK()  주어진 날짜가 연중 몇 번째 주인지 반환합니다.  WEEK('2024-08-27')  `35` 
DAYOFWEEK()  주어진 날짜가 주의 몇 번째 요일인지 반환합니다. (일요일이 1)  DAYOFWEEK('2024-08-27')  `3` 
DAYOFMONTH()  주어진 날짜가 월의 몇 번째 날인지 반환합니다.  DAYOFMONTH('2024-08-27')  `27` 
DAYOFYEAR()  주어진 날짜가 연중 몇 번째 날인지 반환합니다.  DAYOFYEAR('2024-08-27')  `240` 
LAST_DAY()  주어진 날짜의 해당 월의 마지막 날짜를 반환합니다.  LAST_DAY('2024-08-15')  `2024-08-31` 
ADDDATE()  날짜에 지정된 기간을 더합니다.  ADDDATE('2024-08-27', INTERVAL 10 DAY)  `2024-09-06` 
SUBDATE()  날짜에서 지정된 기간을 뺍니다.  SUBDATE('2024-08-27', INTERVAL 10 DAY)  `2024-08-17` 
TIMESTAMP()  날짜와 시간을 하나의 타임스탬프로 결합합니다.  TIMESTAMP('2024-08-27', '14:30:00')  `2024-08-27 14:30:00` 
TIMEDIFF()  두 타임스탬프 간의 차이를 지정된 단위로 반환합니다.  TIMESTAMPDIFF(DAY, '2024-08-01', '2024-08-27')  `26` 
TO_DAYS()  주어진 날짜를 연속된 일수로 변환합니다.  TO_DAYS('2024-08-27')  예: `750000`
FROM_DAYS()  연속된 일수를 날짜로 변환합니다.  FROM_DAYS(750000)  `2024-08-27` 
STR_TO_DATE()  지정된 형식의 문자열을 날짜로 변환합니다.  STR_TO_DATE('27-08-2024', '%d-%m-%Y')  `2024-08-27` 
DATE_FORMAT()  날짜를 지정된 형식으로 변환하여 반환합니다.  DATE_FORMAT('2024-08-27', '%Y/%m/%d')  `2024/08/27` 
MAKEDATE()  주어진 연도와 연중 몇 번째 날인지로 날짜를 생성합니다.  MAKEDATE(2024, 240)  `2024-08-27` 
MAKETIME()  주어진 시, 분, 초로 시간을 생성합니다.  MAKETIME(14, 30, 0)  `14:30:00` 
SEC_TO_TIME()  초를 시간으로 변환하여 반환합니다.  SEC_TO_TIME(3661)  `01:01:01` 
TIME_TO_SEC()  시간을 초로 변환하여 반환합니다.  TIME_TO_SEC('01:01:01')  `3661` 

 

 

 

4. 논리 함수

논리 함수는 조건을 이용할 때 사용됩니다. 아래 함수들을 이용해서 특정 조건이 참인지 거짓인지에 따라 결과를 다르게 처리할 수 있습니다.

함수명 설명 예시 결과
IF() 조건에 따라 다른 값을 반환합니다.  IF(1<2,'True','False')  `True` 
CASE WHEN  여러 조건을 평가하여 맞는 값을 반환  CASE WHEN age >= 18 THEN '성인' ELSE '미성년자' END  나이에 따라 '성인' 또는 '미성년자' 
IFNULL()  첫 번째 인수가 NULL이면 두 번째 인수를 반환하고, 그렇지 않으면 첫 번째 인수를 반환합니다.  SELECT IFNULL(NULL, 'Default');  `'Default'` 
NULLIF()  두 인수가 같으면 NULL을 반환하고, 그렇지 않으면 첫 번째 인수를 반환합니다.  SELECT NULLIF(1, 1);  `NULL` 
COALESCE()  인수 목록에서 첫 번째 NULL이 아닌 값을 반환합니다.  SELECT COALESCE(NULL, NULL, 'MySQL');  `'MySQL'` 
GREATEST()  주어진 인수들 중에서 가장 큰 값을 반환합니다.  SELECT GREATEST(1, 3, 7, 2);  `7` 
LEAST()  주어진 인수들 중에서 가장 작은 값을 반환합니다.  SELECT LEAST(1, 3, 7, 2);  `1` 
ELT()  주어진 인덱스에 해당하는 문자열을 반환합니다.  SELECT ELT(2, 'red', 'green', 'blue');  `'green'` 
INTERVAL()  주어진 값이 지정된 값 사이에 어디에 위치하는지 반환합니다.  SELECT INTERVAL(5, 1, 4, 6, 8);  `2` 
STRCMP()  두 문자열을 비교하여 같으면 0, 첫 번째가 크면 1, 두 번째가 크면 -1을 반환합니다.  SELECT STRCMP('abc', 'abd');  `-1` 

 

5. 집계 함수

집계 함수는 여러 행의 데이터를 Grouping해서 결과를 산출합니다. 예를 들어, 직원들의 평균 연봉을 계산할 때 집계 함수를 사용합니다.

함수명 설명 예시 결과
SUM()  숫자 열의 합계를 반환합니다.  SELECT SUM(price) FROM products;  전체 `price`의 합계 
AVG()  숫자 열의 평균값을 반환합니다.  SELECT AVG(score) FROM students;  전체 `score`의 평균 
COUNT()  행의 개수를 셉니다.  SELECT COUNT(*) FROM orders;  전체 행의 수 
MAX()  주어진 열에서 최대값을 반환합니다.  SELECT MAX(salary) FROM employees;  최대 `salary` 값 
MIN()  주어진 열에서 최소값을 반환합니다.  SELECT MIN(age) FROM customers;  최소 `age` 값 
GROUP_CONCAT()  그룹화된 결과를 문자열로 연결하여 반환합니다.  SELECT GROUP_CONCAT(name) FROM students;  `name`들을 쉼표로 연결 
COUNT(DISTINCT)  고유한 값의 개수를 셉니다.  SELECT COUNT(DISTINCT department)  FROM employees;  고유한 `department`의 수 
STDDEV()  집합의 표준편차를 반환합니다.  SELECT STDDEV(salary) FROM employees;  `salary`의 표준편차 
VARIANCE()  집합의 분산을 반환합니다.  SELECT VARIANCE(salary) FROM employees;  `salary`의 분산 
BIT_AND()  모든 행의 비트 AND 연산 결과를 반환합니다.  SELECT BIT_AND(flags) FROM settings;  모든 `flags`의 비트 AND 
BIT_OR()  모든 행의 비트 OR 연산 결과를 반환합니다.  SELECT BIT_OR(flags) FROM settings;  모든 `flags`의 비트 OR 
BIT_XOR()  모든 행의 비트 XOR 연산 결과를 반환합니다.  SELECT BIT_XOR(flags) FROM settings;  모든 `flags`의 비트 XOR 
JSON_ARRAYAGG()  JSON 배열 형식으로 그룹화된 결과를 반환합니다.  SELECT JSON_ARRAYAGG(name) FROM students;  이름들의 JSON 배열 
JSON_OBJECTAGG()  JSON 객체 형식으로 키-값 쌍을 그룹화하여 반환합니다.  SELECT JSON_OBJECTAGG(id, name) FROM students;  ID와 이름의 JSON 객체 

 

'Computer Science > DB' 카테고리의 다른 글

[MySQL] truncate(), round()  (1) 2025.02.05
SQL Joins 도식  (1) 2025.02.05
[스크랩] MySQL 완전 삭제 후 설치 방법  (0) 2025.02.03
[SQL] 쿼리 문법 정리  (1) 2025.01.07

MySQL 설치 시에 예전에 사용했던 것들이 남아있으면 새로 설치하는 버전에 문제가 될 수 있다. 그래서 미리 다 삭제하고 설치하여야 한다. 다음과 같은 순서로 진행하면 된다.

1. MySQL Installer에서 삭제

(Installer가 없다면 스킵)


(1) Remove 버튼을 누른다.


(2) 항목 전체 선택 후 next 클릭.


(3) finish 나올 때까지 진행

2. 제어판에서 mysql 관련 프로그램 삭제

전부 삭제하면 된다.

3. C드라이브에 남아있는 mysql관련 폴더 삭제

(1) 아래와 같은 폴더들을 전부 삭제한다.

  • C:\Program Files -> mysql
  • C:\Program Files (x86) -> mysql
  • C:\ProgramData -> mysql

(1-참고) ProgramData폴더는 숨김 폴더이므로 폴더 보기에서 숨김 항목 표시를 체크한다.

4. MySQL Community 설치

(1) https://dev.mysql.com/downloads/ 링크로 들어가서 아래에서 두번째 항목을 선택한다.


(2) 크기가 더 큰 두번째 항목 다운로드


(3) 다운로드 완료 후 Installer를 실행하기
(4) Developer Default 선택 후 next 클릭


(5) 계속 execute/next 눌러서 진행(Accounts and Roles 전까지)

 

 

 

 


(6) root 비밀번호 설정하고 유저 추가하기

비밀번호 절대 잊지 말기!


(7) 비밀번호 체크하는 페이지 나오기 전까지 쭉 execute/next 눌러서 진행
(8) 비밀번호 체크하고 이후로도 쭉 execute/next 눌러서 진행

 

 

[원문출처] https://velog.io/@hyeddo/MySQL-완전-삭제-후-재설치하기

'Computer Science > DB' 카테고리의 다른 글

[MySQL] truncate(), round()  (1) 2025.02.05
SQL Joins 도식  (1) 2025.02.05
[스크랩] MySQL 함수 99개 총정리  (2) 2025.02.04
[SQL] 쿼리 문법 정리  (1) 2025.01.07

1. SELECT 쿼리 (Data Retrieval)

SQL에서 데이터를 조회하는 가장 기본적인 구문입니다.

SELECT column1, column2, ...
FROM table_name;
  • ALL: 중복을 포함하여 모든 값을 반환.
  • DISTINCT: 중복을 제외하고 유니크한 값만 반환.
SELECT DISTINCT column1
FROM table_name;

2. WHERE 절 (조건 필터링)

특정 조건에 맞는 데이터를 필터링할 때 사용합니다.

SELECT column1, column2
FROM table_name
WHERE condition;
  • 비교 연산자: =, !=, >, <, >=, <=
  • 논리 연산자: AND, OR, NOT
  • BETWEEN, IN, LIKE, IS NULL
SELECT *
FROM employees
WHERE salary BETWEEN 3000 AND 5000;

3. ORDER BY 절 (정렬)

조회된 데이터를 오름차순 또는 내림차순으로 정렬합니다.

SELECT column1, column2
FROM table_name
ORDER BY column1 [ASC|DESC];

4. LIMIT / OFFSET (결과 제한)

조회할 데이터의 개수를 제한하거나 시작 위치를 지정할 때 사용합니다.

SELECT column1
FROM table_name
LIMIT 10;  -- 상위 10개 결과
  • OFFSET: 조회를 시작할 위치를 지정합니다.
SELECT column1
FROM table_name
LIMIT 10 OFFSET 20;  -- 20번째부터 10개 결과

5. JOIN (테이블 결합)

여러 테이블에서 데이터를 결합할 때 사용됩니다. 주로 INNER JOIN, LEFT JOIN, RIGHT JOIN 등을 사용합니다.

INNER JOIN: 두 테이블에서 일치하는 데이터만 반환합니다.

SELECT A.column1, B.column2
FROM table1 A
INNER JOIN table2 B
ON A.common_column = B.common_column;

LEFT JOIN: 왼쪽 테이블의 모든 데이터를 반환하고, 오른쪽 테이블은 일치하는 데이터만 반환합니다. 일치하지 않는 오른쪽 테이블의 컬럼 값은 NULL입니다.

SELECT A.column1, B.column2
FROM table1 A
LEFT JOIN table2 B
ON A.common_column = B.common_column;

RIGHT JOIN: 오른쪽 테이블의 모든 데이터를 반환하고, 왼쪽 테이블은 일치하는 데이터만 반환합니다. 일치하지 않는 왼쪽 테이블의 컬럼 값은 NULL입니다.

SELECT A.column1, B.column2
FROM table1 A
RIGHT JOIN table2 B
ON A.common_column = B.common_column;

FULL OUTER JOIN: 두 테이블에서 일치하는 데이터는 물론, 일치하지 않는 데이터도 모두 반환합니다. 일치하지 않는 부분은 NULL입니다.

SELECT A.column1, B.column2
FROM table1 A
FULL OUTER JOIN table2 B
ON A.common_column = B.common_column;

6. GROUP BY 절 (그룹화)

데이터를 그룹화하여 집계 함수(Aggregate function)를 사용할 때 사용됩니다.

SELECT column1, COUNT(*)
FROM table_name
GROUP BY column1;
  • 집계 함수: COUNT(), SUM(), AVG(), MIN(), MAX()
SELECT department, AVG(salary)
FROM employees
GROUP BY department;

7. HAVING 절 (그룹화된 데이터 필터링)

GROUP BY로 그룹화된 결과에 조건을 적용할 때 사용됩니다. WHERE는 집계 전의 조건을 적용하고, HAVING은 집계 후에 조건을 적용합니다.

SELECT department, COUNT(*)
FROM employees
GROUP BY department
HAVING COUNT(*) > 10;

8. INSERT INTO (데이터 삽입)

새로운 데이터를 테이블에 삽입할 때 사용합니다.

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);
  • 여러 행을 동시에 삽입할 수 있습니다.
INSERT INTO table_name (column1, column2)
VALUES (value1, value2),
       (value3, value4);

9. UPDATE (데이터 수정)

기존 데이터를 수정할 때 사용됩니다.

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

10. DELETE (데이터 삭제)

특정 데이터를 삭제할 때 사용됩니다.

DELETE FROM table_name
WHERE condition;

11. ALTER TABLE (테이블 구조 변경)

테이블의 구조를 변경할 때 사용됩니다.

  • 컬럼 추가:
ALTER TABLE table_name
ADD column_name data_type;
  • 컬럼 삭제:
ALTER TABLE table_name
DROP COLUMN column_name;
  • 컬럼 이름 변경:
ALTER TABLE table_name
RENAME COLUMN old_name TO new_name;

12. CREATE TABLE (테이블 생성)

새로운 테이블을 생성할 때 사용됩니다.

CREATE TABLE table_name (
  column1 data_type,
  column2 data_type,
  ...
);

13. DROP TABLE (테이블 삭제)

테이블을 삭제할 때 사용됩니다.

DROP TABLE table_name;

14. TRUNCATE TABLE (테이블 데이터 삭제)

테이블의 데이터를 삭제하지만 테이블 구조는 그대로 두고, DROP보다 빠르게 데이터를 삭제합니다.

TRUNCATE TABLE table_name;

15. EXISTS (서브쿼리 존재 여부 확인)

서브쿼리가 반환하는 데이터가 존재하는지 여부를 확인하는 조건입니다.

SELECT column1
FROM table_name
WHERE EXISTS (
    SELECT column2
    FROM another_table
    WHERE condition
);

16. IN (특정 값 목록에 포함되는지 확인)

특정 값 목록 안에 값이 포함되는지 확인할 때 사용합니다.

SELECT column1
FROM table_name
WHERE column1 IN (value1, value2, value3);

17. LIKE (패턴 매칭)

문자열이 특정 패턴과 일치하는지 확인할 때 사용됩니다.

SELECT column1
FROM table_name
WHERE column1 LIKE 'pattern%';  -- %는 0개 이상의 문자와 일치

18. CASE WHEN (조건에 따른 결과 반환)

조건에 따라 다른 값을 반환할 때 사용합니다.

SELECT column1,
       CASE
           WHEN column2 > 100 THEN 'High'
           WHEN column2 BETWEEN 50 AND 100 THEN 'Medium'
           ELSE 'Low'
       END AS column2_category
FROM table_name;

19. Subquery (서브쿼리)

쿼리 내에서 다른 쿼리를 실행할 수 있습니다. 서브쿼리는 WHERE, FROM, SELECT 등의 절에서 사용할 수 있습니다.

SELECT column1
FROM table_name
WHERE column2 = (SELECT MAX(column2) FROM table_name);

20. WITH (Common Table Expression, CTE)

서브쿼리를 WITH 절을 사용하여 재사용할 수 있도록 하는 방식입니다.

WITH CTE AS (
    SELECT column1, column2
    FROM table_name
    WHERE condition
)
SELECT * FROM CTE;

 


SQL 문제 해결을 위한 팁

  • 효율성 고려: 대용량 데이터를 다룰 때는 성능을 고려한 쿼리를 작성해야 합니다. 예를 들어, JOIN이나 WHERE 절을 사용해 데이터를 필터링하거나, 적절한 인덱스를 활용하는 방법이 필요할 수 있습니다.

'Computer Science > DB' 카테고리의 다른 글

[MySQL] truncate(), round()  (1) 2025.02.05
SQL Joins 도식  (1) 2025.02.05
[스크랩] MySQL 함수 99개 총정리  (2) 2025.02.04
[스크랩] MySQL 완전 삭제 후 설치 방법  (0) 2025.02.03

+ Recent posts