목록분류 전체보기 (231)
코딩 기록들

서브쿼리 - SELECT쿼리 안의 SELECT쿼리 (WHERE에서 사용할 때) - 조회하려는 대상을 정확히 알지 못할 때, 조회하려는 대상이 하나 이상일 때 사용함 - 서브쿼리는 SELECT ~FROM 형태로 작성해야 함 SELECT * FROM TABLE WHERE COLUMN = (SELECT COLUMN FROM TABLE WHERE 조건) SELECT col -> col 대신 쓰는 쿼리 : 스칼라 쿼리 FROM table -> table 대신 쓰는 쿼리 : INLINE VIEW WHERE col 연산자 값 -> 값 대신에 쓰는 쿼리 = 서브쿼리 예제) “IT” 부서에서 근무중인 사원들의 정보를 조회 (조회대상(PK)을 모름) * 서브쿼리 대상 * - IT에 부서에서 근무하려는 사원을 찾기 위해 -..

조인 JOIN 집합연산자 vs 조인 - 집합연산자를 사용한 결과는 : 2개이상 SELECT문의 결과값을 '세로'로 연결한 것 - 조인을 사용한 결과 : 2개이상 테이블 데이터를 '가로'로 연결한것 테이블 별칭 설정 - FROM절에 지정한 테이블에는 SELECT절의 열에 사용한것처럼 별칭 지정할 수 있다 -> 명시한 테이블 이름에서 한 칸 띄운 후 지정함 FROM 테이블이름1 별칭1, 테이블이름2 별칭2 .. JOIN관계에 있는 데이터에 따라 여러가지 형태의 관계가 형성됨 1) 1 : 1 ( 만들어서는 안되는 관계 ) - 한 테이블의 PK가 다른 테이블의 FK에 하나만 존재하는 관계 - 단, 컬럼의 수가 40개 이상 넘어갈 경우엔 테이블을 분리하여 1 : 1 관계를 맺어야 함 2) 1 : N - 한 테이블..

그룹함수 - 데이터의 요약이 필요할 때 사용 - 통계작업 시 많이 사용함 - 개수, 평균, 최소, 최대값, 합계구하기 총 5개 함수 제공 - 함수들의 파라미터 = (알고싶은(PK)) 컬럼 1. COUNT : 개수 - COUNT함수의 파라미터는 PK를 쓰는것이 원칙 ex) 전체 사원의 수 등등 2. MAX : 최댓값 -> 파라미터 : 숫자로 구성된 컬럼 3. MIN() : 최솟값 -> 파라미터 : 숫자로 구성된 컬럼 4. AVG : 평균값 ex) 전체 사원의 평균 연봉 등등 5. SUM : 합계 데이터 그룹핑 -- 모든 사원들의 연봉총합, 최대연봉, 최소연봉, 평균연봉, 사원의수를 조회 SELECT SUM(SALARY) , MAX(SALARY) , MIN(SALARY) , AVG(SALARY) , COUN..

ER - Diagram - Database의 구조를 도식화 함 - 한 데이터베이스의 테이블을 컬럼으로 도식화 함 - 각 테이블 끼리의 관계를 연결 - 대표적인 프로그램 : CA사의 ER-Win, Tomato System사의 eXERD https://www.exerd.com/index.do - 하나의 테이블을 도식화 함 - 컬럼들을 나열하고 속성을 정의함 PK (Primary Key) ->테이블 안에서 절대 중복이 일어나지 않는 컬럼. ex) 아이디 -> Row(데이터)를 구분할 수 있는 유일한 값. FK (Foreign Key) -> Primary Key를 참조하는 컬럼(값) -> 테이블 내에서 (일부러) 중복을 일으키는 컬럼. ex) 장바구니의 상품들 -> FK는 반드시 PK의 값을 받아오는 형태 Ta..

SQL - Structed Query Language - 데이터베이스가 관리하는 데이터를 조작하는 언어(구조화된 언어체계 가지고있음) - 데이터베이스, 테이블, 컬럼등을 생성Create, 수정Alter, 삭제Drop 할 수 있음 - DCL, DDL, DML 중 DML 사용 ( 테이블 내 ROW를 추가(C) insert, 조회(R) select, 수정(U) update, 삭제(D) delete -- Single line 주석 /* * Multi line 주석 */ 데이터 조회 - 하나 이상의 테이블에서 여러 Row(데이터) 가져옴 데이터 가져올 때 : SELECT [COLUMN], [COLUMN], [....] FROM [TABLE] SELECT NAME, AGE FROM STUDENT 데이터정렬 - OR..

DBMS - 대량의 데이터를 처리하기 위한 시스템 - 다수의 데이터베이스로 구성됨 - 다수의 데이터가 서로 관계를 맺고 있어 '관계형 데이터베이스' 라고도 부름 (Relationship Database Management System : RDBMS) Database - 대량의 데이터를 처리하기 위한 공간 - 하나의 데이터베이스는 다수의 Table로 구성되어있음 Table - 실제데이터가 보관되는 정형화된 구조의 저장소 - 여러 정보들이 '정형화'된 타입으로 저장됨 (컬럼, 데이터타입 등 정형화되어있음) - 하나의 테이블은 관련된 정보들로 채워짐 - 하나의 테이블은 특성을 표기할 수 있는 '이름'이 주어짐 Row - 테이블의 데이터는 하나의 '행' 으로 표현됨 각 행은 여러개의 컬럼으로 구성됨 Key Pr..
- 값으로 스트림 만들기 : 안씀 Stream stream = Stream.of("Java8", "Lambdas", "In", "Action"); stream.map(String::toUpperCase).forEach(System.out::println); - 스트림 비우기 : 안씀 Stream emptyStream = Stream.empty(); 배열로 스트림 만들기 : 제일 많이 씀! int[] numbers = {2, 3, 5, 7, 11, 13}; int sum = Arrays.stream(numbers).sum(); // 41 public class GenerateExample { public static void main(String[] args) { //배열로 스트림 만들기 1 (int배열일..

Reducing - 스트림의 요소로 집계함 요소의 합 구하기 일반 Java에서 합계 구하는 코드 int sum = 0; for (int x : numbers) { sum += x; } 리듀싱 활용한 코드 int sum = numbers.stream().reduce(0, (a, b) -> a + b); a:집계된 값 / b : 스트림 요소의 값 처음에는 0 -> a에 들어감 Reducing 처리과정 최대값과 최소값 Integer::max , Integer::min 이용 ex) Optional max = numbers.stream().reduce(Integer::max); (Optional을 주는 이유 : 데이터가 있을수도, 없을수도 있으므로) -- 단, Optional 쓰지 않고, .orElse(0) / ..