SQL 21

[MySQL] 조인

조인(JOIN)이란 2개 이상의 테이블에서 쿼리를 작성하는 방법이다. 보통 잘 설계한 관계형 데이터베이스의 테이블은 1가지 이상의 엔티티(Entity)를 포함한다. 조인은 테이블 A의 열과 B의 열을 포함해 검색할 수 있게 만들어 준다. 처음부터 한 테이블에 필요한 열을 만들면 되지않을까라고 생각할 수도 있다. 하지만 그렇게되면 데이터 중복 저장 문제가 생길 수 있다. 그렇기 때문에 조인을 이용하는 것이 효율적인 방법이다.* 데이터베이스의 테이블 : 중복과 공간 낭비를 피하고 데이터 무결성을 위해서 여러 개의 테이블로 분리하여 저장 * 엔티티 : 저장되고 관리되어야 하는 데이터 내부 조인조인은 상황에 따라 여러 종류로 구분해 사용한다. 내부 조인(INNER JOIN)은 가장 많이 사용하는 조인이다.-- ..

Database/MySQL 2024.09.10

[MySQL] 내장 함수 - 제어 흐름 함수, 문자열 함수

내장 함수는 크게 제어 흐름 함수, 문자열 함수, 수학 함수, 날짜/시간 함수, 전체 텍스트 검색 함수, 형 변환 함수, XML 함수, 비트 함수, 보안/압축 함수, 정보 함수, 공간 분석 함수, 기타 함수 등으로 나눈다. 제어 흐름 함수 : 프로그램의 흐름을 제어IF(수식, 참, 거짓)IFNULL(수식 1, 수식 2) : 수식 1이 NULL이 아니면 수식 1이 반환되고, 수식 1이 NULL이면 수식 2가 반환NULLIF(수식 1, 수식 2) : 수식 1과 수식 2가 같으면 NULL을 반환하고, 다르면 수식 1을 반환CASE ~ WHEN ~ ELSE ~ END : CASE는 내장 함수가 아닌 연산자로 분류, 다중 분기에 사용될 수 있으므로 함께 알아두기 SELECT IF (100 > 200, '참', '..

Database/MySQL 2024.09.10

[MySQL] 변수와 형 변환

변수의 사용SQL도 다른 일반적인 프로그래밍 언어처럼 변수를 선언하고 사용할 수 있다.-- 기본 형식SET @변수이름 = 변수_값; -- 변수의 선언 및 값 대입SELECT @변수이름 -- 변수의 값 출력SET @myVar1 = 5;SET @myVar2 = 3;SET @myVar3 = 4.25;SET @myVar4 = '가수 이름==> ';SELECT @myVar1;SELECT @myVar2 + @myVar3;SELECT @myVar4, Name FROM usertbl WHERE height > 180; 실행 결과 데이터 형식과 형 변환데이터 형식 변환 함수가장 일반적으로 사용되는 데이터 형식 변환 함수는 CAST(), CONVERT()이다. 둘은 형식만 다를 뿐 거의 비슷한 기능을 한다.--기본 타입C..

Database/MySQL 2024.09.10

[MySQL] 데이터 형식

MySQL의 데이터 형식Data Type은 데이터 형식, 데이터형, 자료형, 데이터 타입 등 다양하게 부를 수 있다. SELECT 문을 더 잘 활용하고 테이블을 효율적으로 생성하기 위해서는 데이터 형식에 대한 이해가 반드시 필요하다. MySQL에서 지원하는 데이터 형식의 종류숫자 데이터 형식 : 정수, 실수 등의 숫자를 표현SMALLINT : 숫자 범위 -32768 ~ 32767 INT : 숫자 범위 약 -21억 ~ 21억BIGINT : 숫자 범위 약 -900경 ~ 900경FLOAT : 소수점 아래 7자리까지 표현DOUBLE : 소수점 아래 15자리까지 표현DECIMAL : 전체 자릿수(m)와 소수점 이하 자릿수(d)를 가진 숫자형예) DECIMAL(5, 2)는 전체 자릿수를 5자리로 하되, 그중 소수점..

Database/MySQL 2024.09.10

[MySQL] 테이블 생성과 데이터 조작

데이터 조작 언어(Data Manipulation Language, DML)데이터를 검색(SELECT), 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) 하는 데 사용한다. DML을 사용하려면 반드시 테이블이 있어야 한다. 트랜잭션이 발생하는 SQL도 해당된다. * 트랜잭션 : 테이블의 데이터를 변경(입력, 수정, 삭제)할 때 실제 테이블에 완전히 적용하지 않고, 임시로 적용시키는 것. 만약 실수가 있었을 경우에 임시로 적응시킨 것을 취소시킬 수 있게 해 줌. 데이터 정의 언어(Data Definition Language, DDL)데이터베이스, 테이블, 뷰, 인덱스 등의 개체를 생성(CREATE), 삭제(DROP), 변경(ALTER) 한다. 여기서는 트랜잭션을 발생시키지 않는다. 따라서 R..

Database/MySQL 2024.09.10

[MySQL] 데이터 그룹화

데이터를 검색할 때 공통 그룹의 정보를 확인해야 할 때가 있다. 그리고 그룹의 특정 조건을 필터링해 해당 그룹의 데이터만 검색해야 하는 경우도 많다. 이렇게 데이터를 그룹화할 때는 GROUP BY 문을 사용한다. 또한 그룹을 필터링할 때는 HAVING 문을 사용한다. GROUP BY 문과 HAVING 문의 기본 형식SELECT [열] FROM [테이블] WHERE [열] = [조건값] GROUP BY [열] HAVING [열] = [조건값]-- 1개의 열 기준으로 그룹화하기SELECT A FROM usertbl GROUP BY A-- 2개의 열 기준으로 그룹화하기SELECT A, B FROM usertbl GROUP BY A, B-- GROUP BY 다음에 오는 열 순서대로 그룹화한 결과 출력 집계 함수..

Database/MySQL 2024.09.09

[MySQL] 와일드카드

와일드카드는 문자열에서 패턴을 검색할 때 쓰는 특수문자로, LIKE 연산자와 함께 사용된다. LIKE의 기본 형식SELECT [열] FROM [테이블] WHERE [열] LIKE [조건값] LIKE와 %로 특정 문자열을 포함하는 문자열 검색하기%의 사용 방법A% : A로 시작하는 모든 문자열%A : A로 끝나는 모든 문자열%A% : A를 포함하는 모든 문자열 -- '김'으로 시작하는 문자열 검색SELECT * FROM userTBL WHERE symbol LIKE '김%'-- '민지'로 끝나는 문자열 검색SELECT * FROM userTBL WHERE symbol LIKE '%민지'-- 'A'를 포함하는 문자열 검색SELECT * FROM userTBL WHERE symbol LIKE '%A%'/*특정..

Database/MySQL 2024.09.09

[MySQL] ORDER BY 문

ORDER BY 문은 결과물에 대해 영향을 미치지는 않지만, 결과가 원하는 순서대로 정렬하여 출력할 수 있는 구문이다. ORDER BY 문의 기본 형식SELECT [열] FROM [테이블] WHERE [열] = [조건값] ORDER BY [열] [ASC, DESC] ORDER BY 문으로 열 기준 정렬하기-- 1개 열 기준으로 정렬SELECT * FROM userTBL ORDER BY symbol-- 2개 이상 열 기준으로 정렬SELECT * FROM userTBLWHERE sector IS NOT NULL AND sector ''ORDER BY sector, industry-- 정렬 순서는 입력한 순서대로 정렬된다. 오름차순과 내림차순 정렬하기-- 먼저 가입한 순서대로 회원들의 이름과 가입날짜 출력하..

Database/MySQL 2024.09.09

[MySQL] WHERE 문

시스템의 부하를 줄이려면 필요한 데이터만 검색해야 한다. SELECT 문으로 필요한 열만 검색하는 방법은 알아냈지만, 행 전체가 다 검색되므로 아직 필요한 데이터만 검색했다고 볼 수 없다. WHERE 문을 이용해 원하는 조건에 맞는 행을 검색하는 방법을 알아보자. 다음은 WHERE 문의 기본 형식이다.SELECT [열] FROM [테이블] WHERE [열] = [조건값] 비교 연산자 사용하기-- 숫자형 비교연산자SELECT * FROM userTBL WHERE ipo_year = 2024SELECT * FROM userTBL WHERE ipo_year = 2024-- 문자열형 비교연산자SELECT * FROM userTBL WHERE symbol = '문자열'SELECT * FROM userTBL WHE..

Database/MySQL 2024.09.09

[MySQL] SELECT 문

SELECT문은 데이터베이스에서 데이터를 검색하는 구문이다. SELECT 문은 사용하기 쉽지만 시스템 성능에 많은 영향을 끼치므로 주의해서 사용해야 한다. 자주 사용하는 형태의 SELECT 문SELECT 열FROM 테이블WHERE 조거ORDER BY 열 주석 작성 방법한 줄 주석은 --를 사용한다. 여러 줄을 주석 처리하고 싶다면 주석의 시작과 끝에 /*와 */를 감싼다.-- 주석 입력/*주석 입력주석 입력*/ SELECT 문으로 특정 열 검색하기데이터를 검색하려면 SELECT 문을 사용한다. SELECT문은 다양한 옵션도 함께 사용할 수 있다. 다음은 SELECT 문의 기본 형식이다.-- 하나의 열 검색SELECT [열] FROM [테이블]-- 여러 개의 열 검색SELECT [열1], [열2] FROM..

Database/MySQL 2024.09.09