SQL 28

[SQL] 프로그래머스 Lv.2 풀며 정리했던 연산자, 함수들

LEFT(문자, n)문자열의 왼쪽부터 n개 리턴MID(문자, 시작위치, n)문자열의 시작위치부터 n개 리턴RIGHT(문자, n)문자열의 오른쪽부터 n개 리턴JOIN - ONFROM 테이블1 JOIN 테이블2 ON 테이블1.열 = 테이블2.열CASE WHEN - ENDSELECT 문에서 열의 값에 따라 다른 값으로 치환 가능CASE WHEN 열 = ‘값’ THEN ‘치환할 값 ELSE ‘치환할 값’ END AS ‘열’CASE WHEN STATUS = 'SALE' THEN '판매중' WHEN STATUS = 'RESERVED' THEN '예약중' ELSE '거래완료'END AS 'STATUS'LIMIT nORDER BY 열 ASC 혹은 DESC 하고 LIMIT 1 적으면 가장 작거나, 큰 열 ..

SQL 2024.11.27

[SQL] 프로그래머스 Lv.1 풀며 정리했던 연산자, 함수들

코테를 다시 시작했다!오랜만에 하니까.. 레벨1부터 차근차근.. 전체를 채워보려고 합니다  우선 만만한(?) SQL 레벨1부터 모두 채웠어요!   아래는 SQL 레벨1 풀면서 정리했던 연산자와 함수 정리입니다LIKE 연산자특정 문자열이 포함된 값을 찾고 싶을 때WHERE 열이름 LIKE ‘%찾을문자%’%는 여러 자리WHERE 열이름 LIKE ‘찾을문자’_는 한 자리CONCAT()문자열 합치기ex) SELECT CONCAT(MAX(LENGTH), 'cm') AS MAX_LENGTH⇒ 10cm 출력MAX(), MIN()가장 큰 값, 작은 값 찾을 때날짜도 가능ex) SELECT MAX(DATETIME) AS '시간’YEAR()날짜의 연도를 구할 때ex) WHERE YEAR(TIME) = 2021;MONTH(..

SQL 2024.08.26

[SQL] 데이터 모델링

데이터 모델 현실 세계를 추상화하여 데이터 구조와 관계를 시각적으로 표현한 것 데이터베이스 시스템에서 사용되는 데이터의 논리적 구조 정의 데이터 모델링 현실 세계의 데이터를 추상화하여 데이터 모델로 변환하는 작업 데이터 모델링 프로세스 요구사항 분석 개념적 데이터 모델링 논리적 데이터 모델링 물리적 데이터 모델링 구현 및 유지보수 검증 및 최적화 문서화 데이터 모델의 종류 계층적, 네트워크, 개체-관계형, 관계형, 차원, 객체지향, 그래프 속성 (Attribute) 엔티티 집합에 포함되는 최소의 데이터 단위 각각 속성에 대해 단일 속성값을 가져야 한다. 식별자 (Identifier) 하나의 엔티티 집합에서 각 엔티티를 구분할 수 있는 속성이나 속성의 집합 엔티티 집합은 반드시 식별자를 가져야 한다. 관계..

SQL 2024.03.23

[SQL] 윈도우 함수

윈도우 함수 (Window Function) 데이터베이스 쿼리나 데이터 분석에서 주로 사용되는 함수 데이터셋을 그룹화하거나 정렬한 후에 특정 연산 적용하는데 사용 분석 함수 또는 순위 함수라고도 한다. 여기서 윈도우란 연산이 수행되는 데이터셋의 부분집합으로 지정된 분할 기준에 의해서 정의되며 함수가 적용되는 범위를 지정하는 역할을 한다. 윈도우 함수 사용 반드시 OVER 절이 필요하다. OVER 절은 윈도우 함수가 작동하는 윈도우를 정의하며 파티션과 순서를 지정할 수 있다. 윈도우 함수의 종류에 따라서 0~n개의 인수(arguments)가 지정될 수 있다. 형식 SELECT 윈도우함수명(인수) OVER([PARTITION BY 컬럼] [ORDER BY 컬럼] [WINDOWING절]) FROM 테이블명; ..

SQL 2024.03.23

[SQL] 제약 조건

제약조건 테이블에 제약조건을 설정하여 데이터 무결성을 유지할 수 있다. CREATE 문으로 테이블 생성할 때나 ALTER 문으로 테이블 구조 변경시 지정 가능 제약조건은 고유한 이름을 붙여서 식별할 수 있다. 한 컬럼의 여러 개의 제약조건 설정 가능 형식 CREATE TABLE 테이블명 ( 컬럼1 데이터타입 제약조건, 컬럼2 데이터타입, 제약조건(컬럼2) );​ 컬럼의 데이터타입 바로 다음에 기술 또는 컬럼의 정의를 끝낸 후 제약조건을 별도로 지정으로 가능 제약조건 종류 PRIMARY KEY 기본키 설정 기본키는 테이블 당 한개만 가능 기본키는 NOT NULL과 유일한 값 (UNIQUE)을 가져야 한다. 기본키 생성시 자동으로 인덱스 생성 NOT NULL UNIQUE 유일한 값을 넣어야 한다. 자동 인덱..

SQL 2024.03.23

[SQL] DDL (CREATE, ALTER, DROP)

데이터 정의어 (Data Definition Language, DDL) 테이블, 인덱스, 뷰 등의 객체를 생성(CREATE), 수정(ALTER), 삭제(DROP) CREATE 데이터베이스, 테이블, 뷰, 인덱스 등 객체 생성 데이터베이스 생성 CREATE DATABASE [IF NOT EXISTS] 데이터베이스명; 테이블 생성 CREATE TABLE 테이블명 ( 컬럼1 데이터타입, 컬럼2 데이터타입, ... ) 테이블 구조 복사 CREATE TABLE 테이블명 AS SELECT문; ALTER 컬럼 추가 ALTER TABLE 테이블명 ADD COLUMN 새로운컬럼명 데이터타입; 기존 컬럼 연산하여 자동으로 값까지 추가되는 컬럼 추가 ALTER TABLE 테이블명 ADD COLUMN 새로운컬럼명 데이터타입 ..

SQL 2024.03.23

[SQL] DML (INSERT, UPDATE, DELETE)

데이터 조작어(Data Manipulation Language, DML) 데이터 추가(INSERT), 변경(UPDATE), 삭제(DELETE)할 때 사용 INSERT 테이블에 새로운 행 삽입 INSERT INTO 테이블명 VALUES(값1, 값2, …); 컬럼명 생략 가능하나, 삽입할 값이 테이블의 컬럼 수와 순서도 동일해야 한다. INSERT INTO 테이블명(컬럼1, 컬럼2, …) VALUES (값1, 값2, …); UPDATE 기존 행에 있는 데이터 값 변경 UPDATE 문에 WHERE 절이 없으면 모든 행의 값이 변경되므로 주의! UPDATE 테이블명 SET 컬럼1=값1, 컬럼2=값2 [WHERE 조건]; JOIN을 사용한 UPDATE 하위 쿼리에서 메인 쿼리의 대상 테이블을 참조하면 오류 발생하..

SQL 2024.03.22

[SQL] 데이터 타입

문자형 데이터 타입 CHAR 고정길이 문자형 지정한 길이보다 데이터 길이가 작으면 빈칸만큼 공백이 들어간다. VARCHAR 가변길이 문자형 데이터의 길이만큼의 메모리 차지 TEXT 길이를 지정하지 않는다. 컬럼의 최대 길이를 모를 때 사용 TEXT, TINYTEXT, MEDIUMTEXT, LONGTEXT JSON JSON 문자열 데이터타입 숫자형 데이터 타입 정수형 INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT 실수형 FLOAT(소수점 아래7자리), DOUBLE(소수점 아래15자리), DECIMAL(고정 소수점) 날짜시간형 데이터 타입 날짜 DATE 시간 TIME 날짜와 시간 DATETIME, TIMESTAMP TIMESTAMP는 시간대 적용시켜서 보여주므로 글로벌 서비스에서..

SQL 2024.03.22

[Hanaro] 47일차 / SQL (DML, DDL, 제약조건, 데이터타입, 윈도우함수, 데이터모델링)

07 DML 이해 및 실습 데이터 조작어(Data Manipulation Language, DML) 데이터 추가(INSERT), 변경(UPDATE), 삭제(DELETE)할 때 사용 INSERT 테이블에 새로운 행 삽입 INSERT INTO 테이블명 VALUES(값1, 값2, …); 컬럼명 생략 가능하나, 삽입할 값이 테이블의 컬럼 수와 순서도 동일해야 한다. INSERT INTO 테이블명(컬럼1, 컬럼2, …) VALUES (값1, 값2, …); UPDATE 기존 행에 있는 데이터 값 변경 UPDATE 문에 WHERE 절이 없으면 모든 행의 값이 변경되므로 주의! UPDATE 테이블명 SET 컬럼1=값1, 컬럼2=값2 [WHERE 조건]; JOIN을 사용한 UPDATE 하위 쿼리에서 메인 쿼리의 대상 테..

[SQL] 서브 쿼리

서브쿼리 (SubQuery) SELECT 문 안에 SELECT 문을 서브쿼리라고 한다. 복잡한 데이터 추출 및 조작시 사용 서브쿼리는 괄호 안에 기술해야 하고, SELECT, FROM, WHERE, HAVING 절 등에 넣어서 사용 가능 서브쿼리가 먼저 실행 후 메인 쿼리 실행 단일 행 서브쿼리 (Single-Row SubQuery) 서브쿼리의 결과로 단일 행 반환 =, , 등 단일 행 비교연산자 사용하여 연결 예시 SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 = (SELECT MAX(컬럼명) FROM 테이블명); 복수 행 서브쿼리 (Multi-Row SubQuery) 서브쿼리의 결과가 여러 행 IN, ALL, ANY, SOME, EXISTS 같은 복수행 비교 연산자 사용하여 연결 IN 서브쿼..

SQL 2024.03.22