본문 바로가기

전체 글

(404)
[Day19 - DB] 서브쿼리, Structure Query Language(DDL, DML, DCL, TCL) 기본 이론 서브쿼리 : 메인 쿼리 내에 또 다른 쿼리문을 작성하는 것 : 서브쿼리는 괄호 안에 작성 : 주로 WHERE 절에 쓰임 : SELECT문에 작성하는 서브쿼리는 조인과 동일하며, 조인이 더 효율적 : FROM 절에서도 사용 가능 SELECT 칼럼명1, 칼럼명2 ... FROM 테이블명 WHERE 조건문 (SELECT 칼럼명3, 칼럼명4 FROM 테이블명 WHERE 조건문); [단일행 서브쿼리] : 서브 쿼리의 결과가 단일 행 : 연산자 - =, (!=), >, >=, (SELECT AVG(weight) FROM student WHERE deptno1='201'); -- student 테이블에서 주전공이 전자공학과인 학과의 평균 몸무게보다 몸무게가 많은 학생들의 이름과 몸무게 조회 SELECT s.name,..
[SQL] limit - 데이터를 일부만 가져오기 limit SELECT 칼럼명 FROM 테이블명 WHERE 조건문 ORDER BY 기준칼럼 LIMIT 숫자1, 숫자2; : '숫자1'번째부터 '숫자2'개의 데이터를 가져오는 것을 의미 (숫자1이 생략된다면 0이 디폴트) : SQL은 기본적으로 1이 첫번째이지만 limit은 예외적으로 0이 첫번째 : 페이징 처리할 때 많이 사용 [예시] - emp 테이블에서 sal을 기준으로 내림차순 한 뒤 첫번째부터 5번째까지의 데이터를 조회 SELECT * FROM emp ORDER BY sal desc limit 5; SELECT * FROM emp ORDER BY sal desc limit 0, 5;
[SQL] 서브쿼리 서브쿼리 : 메인 쿼리 내에 또 다른 쿼리문을 작성하는 것 : 서브쿼리는 괄호 안에 작성 : 주로 WHERE 절에 쓰임 : SELECT문에 작성하는 서브쿼리는 조인과 동일하며, 조인이 더 효율적 : FROM 절에서도 사용 가능 SELECT 칼럼명1, 칼럼명2 ... FROM 테이블명 WHERE 조건문 (SELECT 칼럼명3, 칼럼명4 FROM 테이블명 WHERE 조건문); [단일행 서브쿼리] : 서브 쿼리의 결과가 단일 행 : 연산자 - =, (!=), >, >=, (SELECT AVG(weight) FROM student WHERE deptno1='201'); -- student 테이블에서 주전공이 전자공학과인 학과의 평균 몸무게보다 몸무게가 많은 학생들의 이름과 몸무게 조회 SELECT s.name,..
[06장.1] 1. API와 REST API API란? : 프로그램 간에 상호작용하기 위한 매개체 : 클라이언트의 요청을 받아 서버에 전달하고, 서버의 결과물을 클라이언트에 전달 REST(Representational State Transfer) APIfks? : URL의 설계 방식 : 자원(데이터)를 이름으로 구분해 자원의 상태를 주고받는 API 방식 REST API 특징 1) 서버/클라이언트 구조 2) 무상태 3) 캐시 처리 가능 4) 계층화 5) 인터페이스 일관성 REST API 장점 1) 무슨 행동을 하는 API인지 명확하게 파악 가능 (즉, 주소와 메서드를 보고 요청 내용 파악 가능) 2) 상태가 없어 클라이언트와 서버의 역할이 명확히 분리 3) HTTP 표준을 사용하는 모든 플랫폼에 사용 가능 REST API 단점 1) HTTP 메서드(..
[1. 소프트웨어 설계] 디자인 패턴 디자인 패턴(Design Pattern)이란? : 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴 : 패턴을 참고해 개발할 경우 효율성, 유지보수성, 운용성 등 품질이 향상되고 최적화에 도움이 됨 디자인 패턴 구성요소 1) 패턴의 이름 : 패턴을 부를 때 사용하는 이름과 디자인 패턴 유형 2) 문제 및 배경 : 패턴이 사용되는 분야 또는 배경. 해결하는 문제를 의미 3) 솔루션 : 패턴을 이루는 요소들, 관계, 협동 과정 4) 사례 : 패턴의 간단한 적용 사례 5) 결과 : 패턴을 사용하면 얻게되는 이점이나 영향 6) 샘플 코드 : 패턴이 적용된 원시 코드 디자인 패턴 유형 - 목적 - 1) 생성 : 객체 인스턴스 생성에 관여, 클래스 정의와 객체..
[SQL] JOIN(INNER, LEFT, RIGHT, SELF, FULL, NATURAL) JOIN 1. JOIN이란? : 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법 : 테이블의 명을 그대로 가져가는 것이 아닌 중복 테이블명 고려를 위해 alias를 사용 : 기본 조인은 INNER JOIN에 해당 [JOIN 기본 형식] JOIN = INNER JOIN SELECT 테이블1.칼럼, 테이블2.칼럼 ... FROM 테이블1, 테이블2 WHERE 조건절; SELECT 테이블1.칼럼, 테이블2.칼럼 ... FROM 테이블1 (INNER) JOIN 테이블2 ON 조건 WHERE 추가 조건; 1. JOIN을 하기 위해 테이블을 2개 생성 -- CREATE TABLE : 테이블 생성 -- DROP TABLE : 테이블이 있으면 삭제 DROP TABLE test1; CREATE T..
[Day18 - DB] 날짜 함수, 숫자 함수, GROUP BY, CASE, JOIN 날짜 함수 1. CURDATE(), CURRENT_DATE() : 현재 날짜 반환 SELECT CURDATE(); SELECT CURRENT_DATE(); 1-1. ADDDATE(기준일 INTERVAL 숫자 DAY/MONTH/YEAR), DATE_ADD(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) : 날짜 형식을 유지하면서 날짜 더하기 : 만약 CURDATE()+1과 같이 그냥 더할 경우 문자열로 출력(형식 유지X) SELECT ADDDATE(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) FROM [테이블명]; SELECT DATE_ADD(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) FROM [테이블명]; SELECT ADDDATE(CURDATE(), INTERVAL ..
[SQL] 날짜 함수 날짜 함수 1. CURDATE(), CURRENT_DATE() : 현재 날짜 반환 SELECT CURDATE(); SELECT CURRENT_DATE(); 1-1. ADDDATE(기준일 INTERVAL 숫자 DAY/MONTH/YEAR), DATE_ADD(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) : 날짜 형식을 유지하면서 날짜 더하기 : 만약 CURDATE()+1과 같이 그냥 더할 경우 문자열로 출력(형식 유지X) SELECT ADDDATE(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) FROM [테이블명]; SELECT DATE_ADD(기준일 INTERVAL 숫자 DAY/MONTH/YEAR) FROM [테이블명]; SELECT ADDDATE(CURDATE(), INTERVAL ..