📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법

# 데이터베이스[DB] (50)

데이터베이스[DB] 2020. 9. 1. 11:05

[Database] 다중컬럼(Multi Column) IN 연산자 설명

다중컬럼(Multi Column) IN 연산자 설명보통 IN 연산자를 사용할 때는 특정 컬럼이 여러 개의 값 중 하나일 때의 조건에 사용합니다.예를 들어 아래와 같이 사원 테이블이 있다고 가정하겠습니다.부서번호가 20, 30 인 부서에 속해있는 사원을 조회하는 경우 IN 연산자를 사용하여 아래와 같이 조회할 수 있습니다.SELECT * FROM EMPWHERE DEPTNO IN (20, 30);IN 연산자 대신 OR 를 사용할 수도 있습니다.SELECT * FROM EMPWHERE (DEPTNO = 20) OR (DEPTNO = 30);결과는 두 쿼리 모두 아래와 같습니다.이번에는 부서번호가 20 이면서 직책이 MANAGER이거나 부서번호가 30 이면서 직책이 CLERK인 사원을 알아보도록 하겠습니다..

데이터베이스[DB] 2020. 8. 26. 00:30

[Oracle] 오라클 열을 행으로 바꾸는 UNPIVOT 사용법 및 설명

오라클 열을 행으로 바꾸는 UNPIVOT 사용법 및 설명오라클에서 UNPIVOT을 사용하면 가로로 출력되는 여러 속성(COLUMN) 데이터를 세로로 돌려 행(ROW)으로 출력할 수 있습니다.사원들의 부서번호, 직책, 급여 보기오라클 사용자라면 누구나 알법한 SCOTT 형님(?)의 EMP 테이블입니다.SELECT * FROM EMP;사원정보를 담고 있으며, JOB(직책), SAL(급여), 부서번호(DEPTNO)가 실습시 사용될 컬럼입니다.사원들의 부서번호, 직책, 급여정보를 보도록 하겠습니다.SELECT ENAME, DEPTNO, JOB, SALFROM EMPORDER BY ENAME;평소 사용하던 문법이니 출렬 결과를 예상하셨을 것입니다.여러 속성들을 세로로 보기만약 부서번호, 직책, 급여를 속성(COL..

데이터베이스[DB] 2020. 8. 25. 16:32

[Oracle] 오라클 행을 열로 바꾸는 PIVOT 사용법 및 설명 및 PIVOT 대체하기

오라클 행을 열로 바꾸는 PIVOT 사용법 및 설명 및 PIVOT 대체하기오라클에서 PIVOT을 사용하면 세로로 출력되는 형식의 데이터를 가로로 뒤집어 출력할 수 있습니다.부서별 직책별 평균 급여 구하기오라클 사용자라면 누구나 알법한 SCOTT 형님(?)의 EMP 테이블입니다.SELECT * FROM EMP;사원정보를 담고 있으며, JOB(직책)과 SAL(급여), 부서번호(DEPTNO)가 실습시 사용될 컬럼입니다.각각의 부서별 직책별 평균 급여를 구해보도록 하겠습니다.SELECT DEPTNO, JOB, AVG(SAL)FROM EMPGROUP BY DEPTNO, JOBORDER BY DEPTNO, JOB;간단하게 출력되었으나 여러 행(ROW)로 출력되어 뭔가 한번에 정리가 되지 않아 불편합니다.세로를 가로..

데이터베이스[DB] 2020. 8. 23. 12:00

[Oracle] 여러행의 데이터를 하나의 행에 가로로 출력하기 LISTAGG 함수 사용법

여러행의 데이터를 하나의 행에 가로로 출력하기 LISTAGG 함수 사용법여러행의 데이터를 하나의 행에 가로로 출력이 가능합니다.예를 들어 아래 사원 테이블을 보죠.SELECT EMPNO, ENAME, JOB, DEPTNO FROM EMP;사원원호(EMPNO), 사원명(ENAME), 직책(JOB), DEPTNO(부서번호)가 있습니다.10번 부서에 속한 사원 목록여기서 10번 부서의 사원명을 구해봅니다.SELECT DEPTNO, ENAME FROM EMP WHERE DEPTNO = 10;10번 부서에 속해있는 사원이 세명이기에 세개의 행이 출력되었습니다.각 부서에 속한 사원 목록이번에는 10번부서 뿐만 아니라 각 부서별 사원명을 출력해 보도록 하겠습니다. GROUP BY를 사용할 수 있을것입니다.SELECT..

데이터베이스[DB] 2020. 8. 10. 00:02

[Oracle] 대소문자 구분 없이 검색하는 경우에 WHERE 조건

오라클 대소문자 구분 없이 검색하는 경우에 WHERE 조건테이블의 문자열 컬럼을 대상으로 대소문자를 가리지 않고 검색을 해야할 때가 있습니다.예를 들어 고객사의 이름이 대소문자를 구분하지 않고 저장되어 있는 경우 입니다.SELECT * FROM CUSTOMERS;이 경우 사용자가 고객사의 이름을 대소문자를 구분하고 외우고 있지 않는 이상 = 연산자를 사용하거나 LIKE문을 사용하기가 어렵습니다. 만약 대소문자를 구분하여 알고 있다고 하더라도 편의적인 측면에서 매우 번거로울것입니다.이 경우 두가지로 해결이 가능한데, WHERE절에 저장된 데이터와 검색할 문자열 모두 대문자 또는 소문자로 변경하여 비교하는 것입니다.SELECT *FROM CUSTOMERSWHERE LOWER(NAME) = LOWER('INT..

데이터베이스[DB] 2020. 8. 9. 21:57

[Oracle] ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다 오류

오라클 ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다 오류오라클 12C부터는 공통 사용자 생성시 계정명 앞에 접두사로 c##을 붙여주어야 합니다.예를 들어 scott계정을 생성하는 경우 기존 11버전에서처럼 생성하면 오류가 발생하게 됩니다.SQL> create user scott 2 identified by tiger;create user scott *1행에 오류:ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.아래와 같이 생성하도록 합니다.SQL> create user c##scott 2 identified by tiger;다만 계정에 c##이 붙기 때문에 client를 통해 접속할때나 권한을 줄때도 마찬가지로 c##을 붙여주는 번거로움이 있습니다...

데이터베이스[DB] 2020. 3. 18. 23:30

[MS-SQLServer] MSSQL Server 로그인시 18456 로그인 오류 원인

MSSQL Server 로그인시 18456 로그인 오류 원인SSMS(SQL Server Management Studio)로 SQL Server에 접속시 다음과 같이 사용자 xx가 로그인하지 못했습니다. 오류 18456 라는 오류 팝업이 나타날때가 있습니다.오류의 원인은 여러개 중 하나인데, 보안상의 이유로 명확한 원인을 설명하지는 않는듯 합니다. 그러나 높은 확률로 ID가 잘못되었거나 비밀번호가 잘못 되었을 확률이 높습니다.오류 원인은 아래 공식 페이지에 접속해보면 자세히 나타나 있습니다.https://docs.microsoft.com/ko-kr/sql/relational-databases/errors-events/mssqlserver-18456-database-engine-error?view=sql-s..

데이터베이스[DB] 2020. 3. 18. 20:46

[MS-SQLServer] MS-SQL Server 서버 인증 방식 변경하는 방법

MS-SQL Server 서버 인증 방식 변경하는 방법SQL Server는 접속시 두 가지 인증 방식을 제공하는데, SQL Server가 설치 되어 있는 Windows 환경의 로그인 계정을 통해 접속하는 Windows 인증 방식과 SQL Server에서 생성한 권한 계정을 통해 접속하는 방식이 있습니다.일반적으로 회사 외부에서 접근하는 사용자의 경우 SQL Server 계정을 제공합니다. Windows 인증 방식을 SQL Server 계정 방식을 사용할 수 있게 변경하는 방법을 알아보도록 하겠습니다.설정 방법먼저 SQL Server에 접근 가능한 Windows 계정을 통해 SSMS(SQL Server Management Studio)로 접속합니다.SSMS의 개체 탐색기에서 Server 마우스 우클릭 → ..

데이터베이스[DB] 2020. 3. 8. 00:23

[MariaDB] 버전(Version) 쿼리로 알아내는 방법

MariaDB SQL 버전 확인 방법MariaDB 버전(Version)은 아래 SQL 호출 한번이면 알 수 있습니다.SELECT VERSION();결과는 아래와 같습니다.출처https://mariadb.com/kb/en/version/

데이터베이스[DB] 2019. 12. 1. 22:23

[MariaDB] MariaDB란? Maria DB 다운로드 및 설치 방법

MariaDB란?MariaDB(마리아 DB)는 오픈소스(무료) RDBMS(관계형 데이터베이스)입니다.MySQL과의 관계MySQL은 1995년 MySQL AB사에서 오픈소스로 제작된 DBMS로 무료 DBMS이면서 대용량 DBMS로서 높은 안정성과 성능덕분에 인기있는 오픈소스 DBMS로 자리 잡고 있었습니다. 2008년에는 선 마이크로 시스템즈에 인수되어 관리됐는데, 아시다시피 선 마크로 시스템즈사는 2010년 오라클사에 인수되었죠. 당연히 MySQL을 개발했던 초창기 개발자 멤버또한 오라클사 소속으로 개발을 진행합니다.MySQL은 오라클에 인수된 이후 5.1, 5.6, 5.7버전을 거쳐 2018년 기준으로 MySQL 8.0 버전이 릴리즈 되었습니다. 그러나 오라클은 라이센스를 유료화하였고(학생용 또는 비상..