일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- API
- MariaDB
- mysql
- 티스토리챌린지
- Python
- 차이점
- JPA
- MongoDB
- 트랜잭션
- PostgreSQL
- 명령어
- group by
- git
- Javascript
- top
- mssql
- rsync
- docker
- oracle
- Linux
- DBMS
- IntelliJ
- 오블완
- java
- 자바
- SQL
- network
- 리눅스
- analytics4
- spring
- Today
- Total
목록DATABASE (34)
hanker
데이터베이스에서 JOIN은 여러 테이블의 데이터를 결합하여 유의미한 정보를 추출할 때 사용된다.JOIN에는 다양한 종류가 있으며, 각 데이터베이스에서 동일한 방식으로 동작한다.이번 글에서는 JOIN의 종류와 SQL에서의 활용 방법을 알아보자! 1. INNER JOIN INNER JOIN은 두 테이블 간의 공통된 값(조건)에 해당하는 데이터만 반환한다.SELECT A.name, B.order_dateFROM customers AINNER JOIN orders B ON A.customer_id = B.customer_id;# 결과: customers와 orders 테이블에서 customer_id가 일치하는 데이터만 반환2. LEFT JOIN (LEFT OUTER JOIN) LEFT JOIN은 왼쪽 테이블의 ..
데이터베이스에서 NULL은 "값이 없다"는 상태를 나타낸다.하지만 NULL을 다루는 방식은 데이터베이스마다 미묘한 차이가 있는데,이번 글에서 Oracle, MySQL, MSSQL, PostgreSQL에서 NULL을 처리하는 방법을 알아보자!Oracle Oracle에서는 NULL을 다룰 때 NVL과 COALESCE 함수가 자주 사용된다. NVL 함수 : NVL은 NULL 값을 대체할 값을 지정COALESCE 함수 : COALESCE는 여러 값을 순서대로 확인하여 NULL이 아닌 첫 번째 값을 반환 SELECT NVL(NULL, 'hanker') AS Result FROM DUAL;-- 결과: 'hanker'SELECT COALESCE(NULL, NULL, 'hanker') AS Result FROM DUA..
SQL에서 데이터 타입 변환은 데이터 처리에서 자주 사용하는 기능이다.예를 들어, 숫자를 문자열로 변환하거나, 날짜를 다른 포맷으로 변경할 때 데이터를 변환해야 하는 경우가 있다.이를 구현하는 방법은 데이터베이스마다 약간씩 다른데,이번 글에서는 각 데이터베이스 별로(Oracle, MySQL, MSSQL, PostgreSQL) 데이터 타입 변환을 처리하는 방법을 알아보자. MySQL MySQL에서는 CAST와 CONVERT 두 가지 방법으로 데이터 타입을 변환한다.SELECT CAST('123' AS SIGNED) AS ConvertedNumber;# CONVERT는 변환뿐만 아니라 데이터 인코딩을 변경할 때도 사용SELECT CONVERT('123' USING utf8) AS Utf8String;SEL..
SQL에서 데이터를 다룰 때, 중복된 데이터를 제거하는 것은 매우 중요한 작업이다. 이번 글에서는 MySQL, MSSQL, Oracle, PostgreSQL에서 중복을 제거하는 방법을 알아보자! 공통 (MySQL, MSSQL, Oracle, PostgreSQL) DISTINCT는 SQL에서 중복된 데이터를 제거하는 가장 기본적인 방법이다.SELECT DISTINCT departmentFROM employees;결과: 각 부서 이름이 한 번만 출력된다. DISTINCT를 여러 열에 적용하면 열 전체를 기준으로 중복 여부를 판단SELECT DISTINCT job_title, cityFROM employees;결과: 동일한 직업-도시 조합은 한 번만 출력된다. COUNT와 함께 사용 중복 제거된 값의 개수를 ..
SQL에서 데이터를 필터링하고 정렬하는 작업은 모든 데이터베이스에서 공통적으로 사용하는 기능이다.이번 글에서는 각 DB별로 필터링하고 정렬하는 방법과 특징에 대해서 알아보자. 필터링 (WHERE) SQL에서 데이터를 필터링하려면 WHERE 절을 사용한다.조건설명=값이 동일한 경우!= 또는 값이 동일하지 않은 경우, >크거나 작은 경우LIKE패턴 매칭BETWEEN범위 내 값IN특정 값 목록 내에 있는 경우IS NULL값이 NULL 인 경우IS NOT NULL값이 NULL이 아닌 경우-- 이름이 'Hanker'이고, 나이가 30 이상인 직원 검색SELECT *FROM userWHERE name = 'Hanker' AND age >= 30; 정렬 (ORDER BY) ORDER BY 절은 데이터를 특정 열을..
SQL에서 데이터(쿼리결과)의 순위를 부여하는 방법에 대해서 알아보자. 공통 (MySQL8.0 이상 지원 / MSSQL / Oracle / PostgreSQL) 윈도우 함수를 이용 1. RANK : 동일한 값일 경우 동일 순위를 부여하고 다음 순위는 건너뛴다.SELECT employee_name, department_id, salary, RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank_in_departmentFROM employees;* 각 부서별로 직원들의 급여 순위를 반환 2. DENSE_RANK : 동일 순위를 부여하지만, 다음 순위를 건너뛰지 않음SELECT employee_nam..
각 DBMS 별로 문자열을 변경하는 방법에 대해서 알아보자! 1. MySQL 문자열 내에서 일치하는 부분을 새 문자열로 바꿔주는 REPLACE 함수 ○ REPLACE(문자열, 찾을_문자열, 바꿀_문자열)SELECT REPLACE('Hanker eeee', 'eeee', '!!!!');-- 결과: 'Hanker !!!!' 정규 표현식을 통해서 문자열을 치환하는 REGEXP_PLACE 함수 ○ REGEXP_REPLACE(문자열, 정규표현식, 바꿀_문자열)SELECT REGEXP_REPLACE('Hanker123123', '[0-9]+', '');-- 결과: 'Hanker'REGEXP_PLACE 함수는 MySQL 8.0 이상에서 사용이 가능하다. 2. MSSQL 문자열 내에서 일치하는 부분을 새 문자..
BigQuery에서 테이블 반환 함수(Table-Valued Function, TVF)는 SQL을 이용하여 매개변수를 입력받아 동적으로 테이블 형식의 결과를 반환하는 기능이다. 이는 재사용 가능한 쿼리를 정의하거나 복잡한 데이터를 매개변수화하여 간편하게 처리할 수 있도록 해준다.언뜻 보면 뷰와 같은 개념인 것 같지만, 뷰와 달리 매번 다른 매개변수를 입력해 동적으로 데이터를 처리할 수 있다는 장점이 있다. 1. TVF의 기본 개념 - TVF는 입력 매개변수를 받아 SQL 쿼리를 실행하여 테이블 형식의 데이터를 반환한다.- 복잡한 쿼리를 여러 번 반복해서 작성하는 대신, TVF로 재사용 가능하게 만들어 간편하게 데이터를 조회할 수 있다.- 매개변수화된 쿼리를 통해 특정 조건에 맞춘 데이터를 효율적으..
SQL 집합연산자는 두 개 이상의 쿼리 결과를 하나로 합치거나 교집합, 차집합을 계산하는데 사용한다. 각 DBMS (MySQL / PostgreSQL/ MSSQL/ Oracle) 에서 사용 가능한 주요 집합 연산자들인 UNION / UNION ALL / INTERSECT / EXCEPT 에 대해 알아보자 UNION 두 개 이상의 쿼리 결과를 합치되, 중복된 행은 제거한다.SELECT column1, column2 FROM table1UNIONSELECT column1, column2 FROM table2- 중복된 결과를 제거하기 떄문에, 성능이 다소 떨어질 수 있다.- 모든 SELECT 문의 열 개수와 데이터 타입이 동일해야 한다. 지원 : MySQL, PostgreSQL, MSSQL, Oracle ..
각 데이터베이스 별 정규식 사용방법에 대해서 알아보자 1. OracleOracle Database는 REGEXP_LIKE, REGEXP_INSTR, REGEXP_SUBSTR, REGEXP_REPLACE 네 가지 정규식 관련 함수를 제공한다. Oracle 정규식은 POSIX(Portable Operation System interface)를 따르며 Lookbehind를 지원하지 않는다. REGEXP_LIKE: 특정 패턴이 일치하는지 확인하는 조건문(WHERE 절)에서 사용REGEXP_INSTR: 정규식 패턴을 기반으로 문자열 내 특정 위치를 반환REGEXP_SUBSTR: 정규식 패턴을 사용하여 부분 문자열을 추출REGEXP_REPLACE: 정규식을 사용해 문자열의 일부분을 대체-- 숫자가 아닌 모든 문자 ..