🍋 ⚾️ 💻 🎬 🎮

Tech/SQL 7

[SQL] CAST, CONVERT (MySQL)

DB 조회할 때, GROUP BY로 MAX 값을 추출하는데 실제 최댓값이 아닌 엉뚱한 값이 계속해서 나왔다.원인은 데이터 형식이 Integer가 아닌 String이 섞여있어서인 것 같았다. 이를 해결하는 방법은 CAST, CONVERT로 데이터 형식을 일치 시켜주는 것..! 변환할 수 있는 데이터 형식: BINARY, DECIMAL, CHAR, NCHAR, JSON, DATE, DATETIME, TIME, SIGNED, UNSIGNED CASTSELECT col_name, data_type, MAX(CAST(data_len AS UNSIGNED))FROM tableGROUP BY col_name, data_type; CONVERTSELECT col_name, data_type, MAX(CONV..

Tech/SQL 2025.07.29

[SQL] DATE_FORMAT (MySQL)

Date Format (MySQL) 📎  요일FormatDescriptionCodeResult%a요일(Mon ~ Sun)SELECT DATE_FORMAT("2015-09-07", "%a");Mon%W요일(Monday ~ Sunday)SELECT DATE_FORMAT("2015-09-07 20:25:19", "%W");Monday%w요일(0(Sun) ~ 6(Sat)SELECT DATE_FORMAT("2015-09-07 20:25:19", "%w");1   📎  날짜FormatDescriptionCodeResult%Y연도SELECT DATE_FORMAT("2015-09-07 20:25:19", "%Y");2015%y연도(뒤 두자리만)SELECT DATE_FORMAT("2015-09-07 20:25:19"..

Tech/SQL 2025.04.06

[SQL] JOIN(조인)

JOINJOIN은 두 개 이상의 테이블을 연결하여 원하는 데이터를 조회하는 데 사용→    공통된 컬럼을 기준으로 두 개 이상의 테이블을 조합하는 것  기본SELECT *FROM 테이블1 AJOIN 테이블2 BON A.컬럼 = B.컬럼;JOIN을 사용할 때 ON을 통해 두 테이블 간의 공통된 컬럼을 지정하여 데이터를 연결한다. 💡 JOIN에 USING 사용컬럼 이름이 동일한 경우 ON 대신 USING(컬럼명)을 사용할 수 있다.SELECT e.emp_id, e.name, d.dept_nameFROM employees eINNER JOIN departments d USING (dept_id);​USING은 dept_id를 자동으로 비교한다.  JOIN 종류JOIN 유형설명INNER JOIN공통된 값이 있..

Tech/SQL 2025.02.10

[SQL] COALESCE

COALESCECOALESCE() 함수는 여러 개의 인자 중에서 NULL이 아닌 첫 번째 값을 반환하는 함수→  값이 NULL일 경우 대체 값을 설정할 때 유용하다.기본COALESCE(value1, value2, ..., valueN)왼쪽부터 차례대로 NULL이 아닌 값을 찾고, 이를 반환모든 인자가 NULL이면 NULL을 반환최소 하나의 인자가 필요 NULL이 아닌 첫 번째 값 반환SELECT COALESCE(NULL, NULL, 'Hello', 'World'); 실행 결과 >왼쪽부터 확인하여 NULL을 건너뛰고 3번쨰 'Hello'를 반환한다.coalesceHello NULL 대신 기본값 설정SELECT COALESCE(NULL, 'Default Value'); 실행 결과 >NULL이므로 'Defau..

Tech/SQL 2025.02.08

[SQL] ROUND, CEIL, FLOOR (반올림, 올림, 내림)

❏  ROUND()  →  반올림❏  CEIL()        →  올림❏  FLOOR()   →  내림   📌 ROUND (반올림)ROUND() 함수는 숫자를 반올림하여 지정한 자릿수까지 표현하는 함수기본ROUND(number, decimal_places)number : 반올림 할 숫자decimal_places : 소수점 이하 몇 자리까지 반올림할지 지정 (생략 가능, 기본값은 0)정수로 반올림 (소수점 이하 없음)SELECT ROUND(12.75); 실행 결과 >12.75  →  소수 첫째 자리(0.75)를 기준으로 반올림하여 13이 된다.round13 반올림 (소수점 이하 1자리까지)SELECT ROUND(12.746, 1);  실행 결과 >12.746  →  소수점 둘째 자리(0.04)를 기준으..

Tech/SQL 2025.02.08

[SQL] CASE WHEN

CASE WHENCASE WHEN은 조건에 따라 다른 값을 반환하는 제어문으로, IF-ELSE 문과 유사→  SQL 쿼리 내에서 값을 변환하거나 특정 로직을 적용할 수 있다.기본CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 ... ELSE 기본결과ENDWHEN 뒤에 조건 작성THEN 뒤에 조건을 만족할 때 반환할 값 작성(선택 사항 ELSE), 모든 조건이 불만족일 때 반환할 기본 값 설정CASE WHENemployees 테이블에서 급여(salary)에 따라 직급 구분하기SELECT name, salary, CASE WHEN salary >= 7000 THEN 'High' WHEN salary >= 5000 THEN 'Medi..

Tech/SQL 2025.02.08

[SQL] WITH AS (Common Table Expression, CTE)

WITH ASWITH AS 구문은 공통 테이블 표현식 (CTE, Common Table Expression) 을 정의하는 데 사용한다.→  임시적인 결과 집합을 생성하여 복잡한 쿼리를 더 읽기 쉽게 만들고, 재사용할 수 있다.기본WITH cte_name AS ( -- 서브쿼리 (임시 테이블) SELECT column1, column2 FROM table_name WHERE condition)SELECT * FROM cte_name;WITH 키워드 다음에 cte_name을 정의한다.AS (...) 부분에는 실제로 실행될 서브쿼리를 작성한다.이후 SELECT 문에서 cte_name을 테이블처럼 사용한다.예제 1: CTE 사용employees 테이블에서 연봉이 5000 이상인 직원 목록 ..

Tech/SQL 2025.02.08
728x90
반응형