분류 전체보기 345

[MySQL] 스토어드 프로시저

1. 스토어드 프로시저란?   - 스토어드 프로시저(Stored Procedure)는 데이터베이스 관리 시스템(DBMS) 내에서 실행되는 하나 이상의 SQL 문장을 포함하는 프로그램   - 스토어드 프로시저는 데이터베이스 작업을 더 효율적이고 안전하게 처리할 수 있는 강력한 도구   - 연산, 반복문, 조건문 등 다양하게 사용 가능  2. 스토어드 프로시저 장점    - 성능 향상    > 네트워크 트래픽 감소: 클라이언트와 서버 간의 통신이 줄어듭니다.    > 한 번의 호출로 여러 작업을 서버에서 수행   - 캐싱    > DBMS가 프로시저를 컴파일하고 캐시할 수 있어 반복 호출 시 성능이 향상   - 재사용성 및 유지보수성    > 재사용 가능 코드    > 데이터베이스 내에서 비즈니스 로직을 중..

DB/MySQL 2024.06.26

[MySQL] 함수

1. 함수란?   - MySQL에서 기본적으로 제공되는 내장 함수와 사용자 정의 함수로 나뉨   - 내장 함수는 문자열 함수, 수학 함수, 날짜 및 시간 함수 등으로 나눌 수 있음   - 사용자 정의 함수는 사용자가 직접 정의한 함수  2. 문자열 함수   - CONCAT() : 두 개 이상의 문자열을 하나로 연결     - CONCAT_WS() : 두 개 이상의 문자열을 구분자를 적용하여 하나로 연결     - LENGTH() : 문자열의 길이를 반환  3. 수학 함수   - ABS() : 주어진 숫자의 절대값을 반환     - ROUND() : 주어진 숫자를 지정된 소수점 자리로 반올림   4. 날짜 및 시간 함수  - NOW() : 현재 날짜와 시간을 반환     - DATEDIFF() : 두 날짜..

DB/MySQL 2024.06.26

[JAVA] 백준 1520 내리막길_DP

문제 :https://www.acmicpc.net/problem/1520  접근 1:   - BFS 로 결과 지점까지 도달하면 결과값 + 1  - Queue 가 빌 때까지 실행 후 출력  - 메모리 초과로 불가  접근 2:  - DP 와 DFS 를 이용하여 정답을 카운트  - 정답 지점까지 도달한 후, 시작 지점으로 돌아오면서 count 를 증가  - 시작 지점에 도달하면 count를 정답으로 출력  코드 구현 : import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { private static int[][] map; private static int[]..

JAVA/Coding Test 2024.06.25

[MySQL] 서브쿼리

1. 서브쿼리(Subquery) 란?   - 하나의 SQL 쿼리 내에 포함된 또 다른 쿼리를 의미  2. 서브쿼리의 종류   - 스칼라 서브쿼리 (Scalar Subquery)    > SELECT, WHERE, HAVING 절에서 사용    > 하나의 값만 반환     EX> SELECT      EX> WHERE      EX> HAVING    - 행 서브쿼리 (Row Subquery)    > WHERE, HAVING 절에서 사용    > 하나의 행을 반환     EX> WHERE      EX> HAVING    - 테이블 서브쿼리 (Table Subquery)    > WHERE, HAVING 절에서 사용    > 하나 이상의 행과 열을 반환     EX> WHERE      EX> HAVIN..

DB/MySQL 2024.06.25

[JAVA] 백준 2193 이친수_DP

문제:https://www.acmicpc.net/problem/2193  접근 :   - 1자리 수의 경우 = 1  - 2자리 수의 경우 = 10  - 3자리 수의 경우 = 100, 101  - 4자리 수의 경우 = 1000, 1010, 1001  - 5자리 수의 경우 = 10000, 10100, 10010, 10001, 10101  - n자리 수의 경우 = n-1 자리 수의 경우 + 0, n-2 자리수의 경우 + 01    -> DP[n] = DP[n-1] + DP[n-2]  코드 구현 : import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public ..

JAVA/Coding Test 2024.06.24

[JAVA] 백준 2156 포도주_DP

문제 : https://www.acmicpc.net/problem/2156  접근 :   - 마지막 포도주를 마시는 경우와 마시지 않는 경우를 나눈다.  - 만약 마지막 포도주를 마시지 않는 경우, 1) 이전까지(n-1)의 최대값이 정답이다.  - 마지막 포도주를 마시는 경우, 2) 3번째 전(n-3) 최대값에 전 포도주 잔(n-1)과 이번 포도주 잔(n)을 마실 수 있다.  - 또한, 3) 2번째 전(n-2) 최대값에 이번 포도주 잔(n)을 마실 수 있다.  - 1) 2) 3) 3가지 경우 중 최대값을 정답으로 출력한다.    코드 구현 :import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;pu..

JAVA/Coding Test 2024.06.24

[JAVA] 백준 2011 암호코드 _DP

문제:https://www.acmicpc.net/problem/2011  접근 :   - 0 으로 시작하는 숫자가 들어오면 복호화가 불가능 하므로 0을 출력한다.  - 길이가 2이상인 경우에는 복호화 한 수가 26 이하이면 2, 6 개별 수 및 26 합친 수의 경우 모두를 고려한다.  - 첫 번째 글자부터 끝까지 확인하면서 정답을 구한다.  코드 구현 : import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Main { public static void main(String[] args) throws IOException { BufferedReader br ..

JAVA/Coding Test 2024.06.21

[MySQL] 테이블 조인

1. 테이블 조인이란?   - 두 개 이상의 테이블을 결합하여 관련 데이터를 검색하는 데 사용  2. INNERJOIN 내부 조인   - 검색 조건에 해당하는 2개의 테이블의 공통적인 행을 출력   3. LEFT JOIN 왼쪽 외부 조인   - FROM에 해당하는 TABLE을 기준으로 SELECT 한 정보가 합쳐진다.   4. RIGHT JOIN 오른쪽 외부 조인   - JOIN에 해당하는 TABLE을 기준으로 SELECT 한 정보가 합쳐진다.   5. FULL JOIN    - MySQL에서는 FULL JOIN을 직접 지원하지 않으므로 LEFT JOIN과 RIGHT JOIN을 결합하여 사용

DB/MySQL 2024.06.21

[JAVA] 백준 11052 카드 구매하기_DP

문제:https://www.acmicpc.net/problem/11052  접근 :   - 카드를 최댓값으로 N개 구매하기 위해서는 1 부터 N까지 구매 최대값을 알고 있어야한다.  - 카드 1개를 살때 최대값 (dp[1])은, card[1]이 최대값이다.  - 카드 2개를 살때 최대값 (dp[2])은 , card[1]을 2번 구매하는 값과 card[2] 중 더 큰 값이다.  - dp[3] 은, dp[1] + dp[2] 과 card[3] 중 더 큰 값이다.  - dp[4] = dp[1] + dp[3] , dp[2] + dp[2], num[4] 중 가장 큰 값이다.  - dp[5] = max { (dp[1] + dp[4]), (dp[2] + dp[3]), (card[5]) }   - dp[n] = max{..

JAVA/Coding Test 2024.06.20

[MySQL] 데이터 그룹화(묶기)

1. 데이터 그룹화란?  - GROUP BY 를 이용하여 데이터를 그룹화 할 수 있다.  - 또한, HAVING 을 이용하여 그룹화된 데이터를 조건에 따라 필터링 할 수 있다.  - GROUP BY, HAVING을 이용하여 데이터를 요약하고 집계 결과를 보다 세부적으로 제어할 수 있음.  2. GROUP BY  - 동일한 값을 가지는 행들을 그룹화하는 데 사용  - 집계 함수(COUNT, SUM, AVG, MAX, MIN 등)와 함께 사용하여 각 그룹에 대한 집계 결과를 계산 할 수 있다.  - GROUP BY 사용 예시 ( 국가별 사는 사람 수 조회 )  > SELECT country, COUNT(*) as user_count FROM users GROUP BY country;   3.  HAVING ..

DB/MySQL 2024.06.20