Maria DB : 기본

최혜린·2024년 10월 15일

기본적인 데이터베이스 쿼리

1. 스키마 정보 알아보기

다음 쿼리를 통해 내부 스키마 정보에 대해 알 수 있다.

  • SHOW DATABASES 명령어는 현재 내부에 있는 스키마 목록을 출력한다.
형식SHOW DATABASES;
  • 원하는 스키마를 사용하기 위해 USE 하는 명령어 사용이 가능하다.
형식use [스키마명]

2. 테이블 정보 알아보기

다음 쿼리를 통해 현재 스키마에 있는 테이블 정보들을 볼 수 있다.

형식SHOW TABLES;
  • 테이블에서 데이터를 조회하기 위해서 테이블의 구조를 알아야 한다.
  • 테이블의 구조를 확인하기 위한 명령어로는 DESCRIBE 가 있다.
형식DESC [테이블명] ;

SELECT 문

  • 관계형 데이터베이스에서 데이터를 조회하는 데 사용되는 SQL(Structured Query Language) 명령어이다.
  • SELECT 문을 사용하면 특정 테이블에서 원하는 데이터를 선택하여 결과를 반환받을 수 있다.
형식SELECT column FROM table_name ;
  • 명령어는 하나의 문장으로 구성되며 반드시 세미콜론 ( ; )으로 마쳐야 한다.
  • SELECT 문은 반드시 SELECTFROM 이라는 2개의 키워드가 포함되어야 한다.
  • SELECT: 조회할 열(컬럼)을 지정합니다. 모든 열을 선택하려면 *을 사용할 수 있습니다.
  • FROM: 데이터를 조회할 테이블의 이름을 지정합니다.
  • WHERE: 선택한 데이터에서 조건을 지정하여 필터링합니다. 조건이 참인 데이터만 반환됩니다

전체 데이터 조회와 특정 데이터 조회 예제

# 문제 1 : 사원들의 사번 이름 급여 연봉을 출력하세요
			# 연봉은 사원의 급여 *12
SELECT empno, ename, sal, sal*12 FROM emp;

# 문제 2 : 사원들의 사번, 이름, 직책을 출력하되 컬럼으로 
		#"사번,이름,직책 이라고 나오게 만드세요
SELECT empno "사번", ename "이름", job "직책" FROM emp;


# where 조건1 -부서번호가 10번인 부서에 대해 출력
select * FROM emp WHERE deptno = 10; 

# where 조건2 - 급여가 1500 이하인 사원의 사원번호, 사원이름, 급여 출력
SELECT empno, ename, sal FROM emp WHERE sal<= 1500 ;

# where 조건3 - 사원 이름이 smith인 사원의 사원번호 이름 금여 출력
SELECT empno, ename, sal FROM emp WHERE ename = 'SMITH';

#where 조건 4 - 사원의 입사일자 '1082-0101' 이루에 입사한 사원의 모든정보를 출력
SELECT * FROM emp WHERE hiredate >='1982-01-01'; 
# 아래 두 방법으로 날자 표기 가능
SELECT * FROM emp WHERE hiredate >='1982/01/01';  
SELECT * FROM emp WHERE hiredate >='19820101'; 

산술연산자

예제

null 연산

  • null은 미확정(해당 사항 없음), 알 수 없는(unknown) 값을 의미한다.
  • 어떤 값인지 알 수 없지만 값이 존재하고 있다.
  • 연산에서 NULL이 포함되면 결과는 NULL이 됩니다. .

ifnull : null 처리

  • IFNULL() 함수는 마리아DB와 MySQL에서 사용되는 함수로, 특정 값이 NULL인지 검사할 수 있다.
  • NULL일 경우 다른 값을 반환하는 데 사용된다.
  • 이 함수를 사용하면 데이터베이스 쿼리에서 NULL 값을 처리할 때 유용하다.

사용하는 이유

  1. NULL 처리: 데이터베이스에서 NULL 값이 있을 수 있는 컬럼에 대해 기본값을 제공하여 결과가 더 명확하고 유용하게 만들 수 있다.

  2. 계산의 일관성 유지: NULL이 포함된 연산을 수행할 경우 결과가 NULL이 되기 때문에, IFNULL()을 사용하여 기본값을 제공하면 계산의 일관성을 유지할 수 있다.

  3. 데이터 표현 개선: 사용자에게 보여지는 데이터에서 NULL 대신 더 의미 있는 값을 표시할 수 있다. 예를 들어, NULL 대신 "정보 없음" 또는 0 등을 보여줄 수 있다.

Annsal : 컬럼 이름에 별칭 지정

  • 컬럼 이름 대신 별칭을 출력하고자 하면 컬럼을 기술한 바로 뒤에 AS 라는 키워드를 쓴 후 별칭을 기술한다.
  • AS 를 빼도 된다.
  • 오라클에서 한글을 지원하므로 별칭이 아닌 테이블을 생성할 때 컬럼을 설정하면서 컬럼 이름도 한글로 부여할 수 있다.

distinct : 중복 데이터 처리

  • SQL에서 중복된 값을 제거하고 고유한 값만 반환하는 데 사용되는 키워드다.
  • 여러 열: 여러 열을 함께 지정할 경우, 각 열의 조합이 고유한 경우만 결과에 포함된다.

주의사항

  • DISTINCT는 쿼리 성능에 영향을 미칠 수 있다. 데이터가 많을 경우 중복을 제거하는 과정이 추가되기 때문에 필요한 경우에만 사용하는 것이 좋다.
  • DISTINCT를 사용할 때는 주의해서 열을 선택해야 한다. 잘못된 조합을 선택하면 예상치 못한 결과를 초래할 수 있다.
profile
산으로 가는 코딩.. 등산 중..🌄

0개의 댓글