DB 9

[DB] CASE

SQL CASE 표현식 표현식 CASE은 조건을 통과하고 첫 번째 조건이 충족되면 값을 반환합니다(예: if-then-else 문). 따라서 조건이 참이면 읽기를 중지하고 결과를 반환합니다. 참인 조건이 없으면 절의 값을 반환합니다 ELSE. 부분이 없고 ELSE조건이 참이면 NULL을 반환합니다. CASE 문의 형식 CASE 컬럼 WHEN 조건1 THEN 값1 WHEN 조건2 THEN 값2 ELSE 값3 END 자바의 if 문 느낌...이다. ex) SELECT OrderID, Quantity, CASE WHEN Quantity > 30 THEN 'The quantity is greater than 30' WHEN Quantity = 30 THEN 'The quantity is 30' ELSE 'The..

DB 2023.06.02

[DB]Substring, SUBSTRING_INDEX : 문자열 일부 추출

SQL에서 함수 substring은 하나의 필드 데이터의 일부를 읽는데 사용된다. 데이터베이스에 의해 이 함수명이 다르다. MySQL : SUBSTR(), SUBSTRING(),SUBSTRING_INDEX Oracle : SUBSTR() SQL Server : SUBSTRING() SUBSTRING 사용방법 SUBSTRING(문자열, 시작 위치) SUBSTRING(문자열, 시작 위치, 시작 위치부터 가져올 문자수) SELECT SUBSTRING('123456789', 7); >> 789 SELECT SUBSTRING('123456789', -7); >> 3456789 SELECT SUBSTRING('123456789', 3, 5); >> 34567 SELECT SUBSTRING('123456789', -..

DB 2023.06.02

[DB] 서브 쿼리

하나의 SQL 문에 포함되어 있는 또 다른 SQL 문을 말합니다. 서브쿼리 사용시 주의사항 1. 서브쿼리를 괄호로 감싸서 사용한다. 2. 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다. 3. 서브쿼리에서는 ORDER BY 를 사용하지 못한다. [ 서브 쿼리 장점 ] 서브쿼리는 쿼리를 구조화시키므로, 쿼리의 각 부분을 명확히 구분할 수 있게 해준다. 서브쿼리는 복잡한 JOIN이나 UNION과 같은 동작을 수행할 수 있는 또 다른 방법을 제공 서브쿼리는 복잡한 JOIN이나 UNION 보다 좀 더 읽기 편함 (가독성이 좋음) 서브쿼리가 사용 가능한 곳 1. SELECT 절 2. FROM 절 3. WHERE 절 4. HAVING 절 5. ORDER BY 절 6. INSERT 문의 VALUE..

DB 2023.06.02

[DB] Union

두 개 이상의 SQL 쿼리문을 합치는 방법 부득이하게 여러개에 쿼리문을 사용하여 하나에 데이터로 출력해야되는 경우가 존재한다. 이럴 때 사용하는 방법이 바로 UNION 연산자이다. 👉 근데, 그러려면 한 가지 조건이 있어요! 노란색과 파란색 박스의 필드명이 같아야 한다. 🙂 ex) SELECT ID, NAME FROM TABLE1 ; SELECT ID, NAME FROM TABLE2 ; SELECT ID, NAME FROM TABLE1 ; UNION ALL SELECT ID, NAME FROM TABLE2 ; ( select '7월' as month, c.title, c2.week, count(*) as cnt from checkins c2 inner join courses c on c2.course_i..

DB 2023.06.02

[DB] Join(Left (outer) Join, Inner Join)

👉 Join이란? 두 테이블의 공통된 정보 (key값)를 기준으로 테이블을 연결해서 한 테이블처럼 보는 것을 의미한다. 두 테이블의 조인을 위해서는 기본키(PRIMARY KEY, PK)와 외래키(FOREIGN KEY, FK) 관계로 맺어져야 하고, 이를 일대다 관계라고 합니다 INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다. OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다. Left (outer) Join LEFT (OUTER) JOIN: 왼쪽 테이블의 모든 값이 출력되는 조인 SELECT FROM LEFT (OUTER) JOIN ON [WHERE 검색 조건] Inner Join 두 ..

DB 2023.06.02

[DB] SQL문 기본 문법 - select

SQL문 SQL은 “관계형 데이터베이스” 관리 시스템(RDBMS, Relational Database Management System)을 조작할 때 사용하는 언어이다. RDBMS: 행과 열을 가지는 표 형식 데이터(2차원 데이터)를 저장하는 형태의 DB 행(레코드), 열(컬럼/필드), 셀(행과 열이 만나는 부분, 하나의 데이터 값) 수치형, 문자열형, 날짜시간형, NULL(값이 없는 데이터) 등의 자료형이 존재 Select 쿼리문이란 개념 👉 쿼리(Query)문이란? 쿼리는 질의를 의미하죠. 데이터베이스에 명령을 내리는 것을 의미합니다. 여기서 Select 쿼리문은, 데이터베이스에서 '데이터를 선택해서 가져오겠다'는 의미입니다. Select 쿼리문은 1) 어떤 테이블에서 2) 어떤 필드의 데이터를 가져올..

DB 2023.06.01

[DB] mongoDB 시작하기

MongoDB 대표적인 NoSQL, Document DB Mongo는 Humongous에서 따온 말로, 엄청나게 큰 DB라는 의미 → 대용량 데이터를 처리하기 좋다. MongoDB 기본 개념 Database > Collection > Document Collection 하나 이상의 Document가 저장되는 공간 SQL에서의 table과 유사 하지만, collection 이 document의 구조를 정의하지 않음 Document MongoDB에 저장되는 자료 SQL에서 row와 유사하지만 구조 제약 없이 유연하게 저장 가능 JSON과 유사한, BSON을 사용하여 다양한 자료형을 지원 Document - ObjectID Document > ObjectID 각 document의 유일한 키 값, SQL의 pr..

DB 2023.05.18

[DB] DB 개념

DB는 왜 쓸까? 1번: 잘 넣어두기 위해서 / 2번: 나중에 잘 찾기 위해서 DB의 두 가지 종류 RDBMS(SQL) Relational Database 관계형 데이터베이스 자료들의 관계를 주요하게 다룬다. SQL 질의어를 사용하기 위해 데이터를 구조화해야 한다. 행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사하다. 데이터 50만 개가 적재된 상태에서, 갑자기 중간에 열을 하나 더하기는 어려울 것입니다. 그러나, 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에 용이할 수 있다. ( 비즈니스가 잘 안바뀌는 곳에서 사용, 대기업 ) ex) MS-SQL, My-SQL 등 No-SQL Non SQL 또는 Not Only SQL 구조화된 질의어를 사용하지 않는 데이터베이스 자료 간의 관계에 초..

DB 2023.05.18