반응형

MySQL 23

JOIN

JOIN 하나 이상의 테이블에 대한 질의에 사용 일반적으로 기본키나 외래키를 사용해 행들을 join 방법 inner join : 2개의 table의 column과 column을 처리해 데이터를 출력 → 두 table의 교집합 영역 → where절 / on에 JOIN의 조건을 설정 : 두 table의 동일한 column 이름이 조건에 등장해서는 안 됨 → 동일한 column 이름은 table 이름으로 명확히 구분 table이름.column이름 ▶ select dname, ename from dept join emp on dept.deptno = emp.deptno; : dept table과 emp table이 join 하고 dep table의 deptno와 emp table의 deptno가 같을 때 dna..

함수

단일 행 함수의 형식 인자들을 받아서 하나의 값을 반환 하나의 행에 대해 하나의 결과를 반환 데이터 형을 수정 중첩해서 사용할 수도 있음 function_name(column | expression, [arg1, arg2, ...]) FUNC3(FUNC2(FUNC1 (col, arg1), arg2), arg3) → 가장 깊이 있는 함수가 먼저 연산을 수행함 : FUNC1 → FUNC2 → FUNC3 순서대로 수행 문자 함수 lower, lcase : 소문자로 변환 lower('SQL Course') / lcase('SQL Course') ▶ select dname, lower(dname) from dept; : dept에서 dname을 선택하고 소문자로 변환 upper, ucase : 대문자로 변환 up..

연산자

비교 연산자 = > >= = 값1 and 컬럼 2000; : emp에서 ename과 sal을 선택하되, ename은 중간에 'A'가 들어가고 sal는 2000보다 큰 경우만 출력 → 'and'와 'or'을 동시에 사용할 때는 소괄호를 사용해 연산자 우선순위 지정 ▶ select mgr, sal from emp where mgr = 7698 or (mgr = 7839 and sal > 1500); : emp에서 mgr과 sal을 선택하되, mgr이 7698인 경우 혹은 mgr이 7839이고 sal이 1500보다 큰 경우만 출력 not (!) Q1. EMP TABLE에서 이름(ENAME)이 사전배열 상 A에서 H 사이에 있는 사원의 모든 정보를 이름을 기준으로 오름차순으로 출력해보자. ▶ select * f..

Order by

Order by Row 값을 정렬 (기본 값은 오름차순) ASC - 오름차순 DESC - 내림차순 Order by 컬럼 (ASC|DESC) ≫ SQL 문의 가장 뒤에 옴 ▶ select ename, job from emp order by job; : emp에서 ename과 job을 job 기준 오름차순으로 정렬 → ASC / DESC 지정하지 않으면 기본 값인 오름차순으로 정렬됨 ≫ NULL값인 경우 오름차순에서는 가장 처음, 내림차순에서는 가장 나중에 등장 ▶ select ename, comm from emp order by comm; : emp에서 ename과 comm을 comm 기준으로 오름차순 정렬 ▶ select ename, comm from emp order by comm desc; : emp..

NULL(널 값)

NULL : 아무런 값이 아니라는 뜻 → NULL 값을 포함한 수식은 계산되지 않음 ▶ select empno, comm, comm*10 as comm2 from emp; : emp에서 empno, comm을 선택하고 comm에는 10을 곱해주고 이름을 comm2로 변경함 IFNULL : NULL 값을 특정한 값으로 치환함 → 값1이 NULL이면 값2로 대치하고 그렇지 않으면 값1을 출력 ▶ select empno, ifnull(comm, 1)*10 as comm from emp; : emp에서 empno, comm을 선택할 때, comm에 NULL값이 존재하면 1로 치환 후 10을 곱해줌

SQL 기본 기능

★ 테이블 및 인덱스 확인 ★ show : 데이터베이스, 테이블, 인덱스 등 정보를 출력해주는 명령어 ▶ 테이블 이름 목록 조회 show tables; ▶ 테이블 상세 정보 조회 show table status; ▶ 해당 테이블 인덱스 정보 조회 show index from 테이블명; ★ 테이블 구조 확인 ★ desc : 테이블의 상세 컬럼 정보 확인 가능 desc 테이블명; show columns show columns from 테이블명; ★ 모든 행과 열 선택 ★ → 기본값은 오름차순 select * from 테이블명; ★ 질의 결과로 반환될 컬럼 선택 ★ ','로 컬럼 구분 모든 컬럼 선택 select * from 파일명; → *은 전체를 의미함 연산자 → +, -, *, /, () → 문자열에는 ..

SQL 개념 정리

SQL Structured Query Language → 구조화 질의 언어 → 사용자와 데이터베이스를 연결시켜 주는 표준 검색 언어 : 특정한 데이터베이스 시스템(Oracle, MySQL 등)에 한정되지 않음 ★ SQL 구분 ★ 세미콜론 : SQL의 기본적인 종결 기호 SQL 명령어; 종결 기호 변경 delimiter 변경 기호 데이터 정의 언어(DDL) Data Definition Language → 스키마, 테이블, 뷰, 인덱스를 정의하거나 변경, 삭제할 때 사용하는 언어 종류 내용 create 스키마, 테이블, 뷰, 인덱스의 정의 / 생성 drop 스키마, 테이블, 뷰, 인덱스의 삭제 alter 정의를 변경(컬럼 추가, 변경, 삭제) rename 테이블명을 변경 truncate 기존 테이블 정보는 ..

반응형