DB/SQL6 [SQL] MariaDB와 Oracle에서의 페이징 처리 : 쿼리 비교와 예시 마리아DB(MariaDB)와 오라클(Oracle)은 SQL 쿼리 언어의 표준을 따르고 있지만, 몇 가지 차이점이 있습니다.차이점과 예시 쿼리를 비교해보며 각 상황에 맞게 적용해 봅시다. 페이징 처리와 관련된 쿼리 작성 시 차이점 1. LIMIT 및 OFFSET vs ROW_NUMBER() 함수▶ 마리아DB (MariaDB) : 페이징 처리를 위해 'LIMIT' 및 'OFFSET' 절을 사용합니다.: 'LIMIT'은 반환할 행의 수를 지정하고, 'OFFSET'은 시작할 행의 위치를 지정합니다.▶ 오라클 (Oracle) : 오라클에서는 'ROW_NUMBER()' 함수와 서브쿼리를 사용하여 페이징 처리를 합니다.: 'ROW_NUMBER()' 함수를 사용하여 각 행에 순서를 부여하고, 그 순서를 기준으.. DB/SQL 2024. 4. 25. [SQL] HAVING 과 WHERE 차이 SQL 조건문 HAVING과 WHERE의 차이 정리. ● WHERE - FROM 뒤에 위치. 조건절에는 다양한 비교연산자를 사용하여 조건을 줄 수 있다. SELECT * FROM 테이블명 WHERE 조건절 ● HAVING - GROUP BY 뒤에 위치. 조건절에는 다양한 비교연산자를 사용하여 조건을 줄 수 있다. SELECT * FROM 테이블명 GROUP BY 필드명 HAVING 조건절 ▷ WHERE, HAVING 둘 다 필드에 조건을 줄 수 있다는 공통점이 있다. WHERE는 기본적으로 모든 필드에 조건을 줄 수 있지만, HAVING은 전체테이블에서 GROUP BY로 새로 생성된 테이블에 그룹화된 필드에 조건을 줄 수 있다는 차이점이 있다. 또한, HAVING에 조건을 줄 필드는 SELECT에 반드시.. DB/SQL 2023. 6. 16. [SQL] COALESCE() 함수 NULL 변환 COALESCE 함수사용하여 NULL값 변환하기 COALESCE()를 사용하여 N개 컬럼의 NULL체크를 하여 변환할 수 있다. 얼핏 보면 NVL()과 동일해 보이지만, NVL()은 인자가 2개만 가능하고 COALESCE()는 인자가 N개까지 가능하다 ! 예제를 보면 이해가 빠를 것이다.SELECT COALESCE(컬럼1, 컬럼2, … ,컬럼N) FROM TEST_TABLE컬럼1부터 NULL값을 체크하여 처음으로 NULL 아닌 값을 리턴한다. 예를 들어 컬럼1과, 컬럼2는 null인데 컬럼3이 null이 아닌 값을 갖고 있으면 처음으로 null이 아닌 컬럼3의 값을 리턴해준다. 플러스로 N번째 컬럼까지 모두 null이면 NULL을 리턴한다. COALESCE()의 내부 구현을 들여다보면, CASE WHEN.. DB/SQL 2023. 4. 1. [SQL] NULL값과 ‘’(공백) 비교 DB에서의 NULL을 알아보자 !!Oracle, Tibero, MSSQL에서 NULL은 없는값이 아니라 모르는값이다.그래서 AAA = NULL이 아니고 AAA IS NULL인 것이다.그렇기 때문에 없다면 ‘ ’(스페이스)를 넣어야 된다 ! 처음에는 왜 스페이스를 넣는가 했는데 이유가 있었다..!!! Oracle과 Tibero에서는 컬럼에 ‘’과 NULL은 같습니다. (‘' : 스페이스 없는 따옴표 열고닫고 ) SELECT CASE WHEN ‘’ IS NULL THEN ‘NULL’ ELSE ‘NOT NULL’ END FROM dual; : 위 쿼리의 결과는 NULL이다. 가끔 NOT IN이나 NOT LIKE를 사용하여 해당되지 않은 값은 빼고 조회할 때, NULL과 ‘’인값은 안 나오니 주의.하.. DB/SQL 2023. 3. 22. [SQL] Oracle SQL - DESC Oracle DB - SQL Developer에서 테이블컬럼 조회 명령어 OracleDB에서 쿼리를 짜다가 문자열 형식 오류로 테이블의 컬럼을 조회하고 싶을 때 간단하게 확인할 수 있는 명령어를 찾았다. - DESC [조회하고 싶은 테이블명]; 조회시 예시 결과 >>>>>> 이름 널? 유형 ------------------------ ----------------- ----------------- TEST_ID NOT NULL VARCHAR2(12) UPD_DTM DATE TEST_CP_NUM NUMBER(6,2) DESC는 Describe의 약자로 해당 테이블에 어떤 컬럼들로 구성되어 있는지와 각 컬럼의 TYPE도 알 수 있다. NOT NULL인지도 확인할 수 있어서 쿼리 짤때 유용하게 사용할 수 있는.. DB/SQL 2020. 11. 27. [Oracle] SQL Developer - Date Format 변경 SQL Developer로 Oracle 쿼리를 작성하고 db정보를 볼 때 Date Format을 변경할 수 있다. DB데이터를 보는데 Date가 RR/MM/DD(ex.20/11/09)로 되어있어서 데이터가 년/월/일만 들어가 있는 줄 알았다. 난 시간(시/분.초)까지 찍힌 Date 데이터가 필요했다. 데이터의 오류인줄 알았는데 데이터의 오류가 아니였다 !!!! 0 _ 0 . . . 실제로는 시/분/초까지 데이터가 들어가 있었지만 설정이 RR/MM/DD로 되어있어서 년/월/일만 보여진 것이었다. SQL Developer에서는 기본 Date 출력 포맷이 RR/MM/DD로 설정되어있다. Date 포맷을 시/분/초까지 출력하도록 환경설정을 통해서 적용할 수 있다. 도구 [Tools] -> 환경설정 [Prefer.. DB/SQL 2020. 11. 9. 이전 1 다음 728x90