Welcome! Everything is fine.

[TIL] 241127 - SQL / Java 공부 본문

TIL

[TIL] 241127 - SQL / Java 공부

개발곰발 2024. 11. 27.
728x90

✅ SQL 문제 풀기

퀘스트 중, 직원이 없는 부서의 이름을 찾는 쿼리를 작성하는 문제가 있었다. 이때 LEFT JOIN을 사용했는데, 직접 테이블을 합친 모습을 보고 싶어 GPT에게 부탁했다.

 

위의 두 개의 테이블을 LEFT JOIN 하면 다음과 같은 결과가 나온다. LEFT JOIN 은 왼쪽 테이블의 모든 데이터를 유지하고 오른쪽 테이블에 매칭되지 않는 데이터에 대해 NULL 을 반환한다. 여기서 employee_name 이 NULL 인 부서를 찾아내면 되는 것이다.

SELECT d.id AS department_id, d.name AS department_name, e.name AS employee_name
FROM departments d
LEFT JOIN employees e ON d.id = e.department_id;

 

다음과 같이 IS NULL 을 사용하여 직원이 없는 부서를 필터링하면 된다.

SELECT d.name AS department_name
FROM departments d
LEFT JOIN employees e ON d.id = e.department_id
WHERE e.id IS NULL;

✅ 자바 강의 듣기

String 주요 메서드

문자열 조작 및 변환

  • substring(int beginIndex) / substring(int beginIndex, int endIndex) : 문자열의 부분 문자열을 반환한다.
  • concat(String str) : 문자열의 끝에 다른 문자열을 붙인다.
  • replace(CharSequence target, CharSequence replacement) : 특정 문자열을 새 문자열로 대체한다.
  • replaceAll(String regex, String replacement) : 문자열에서 정규 표현식과 일치하는 부분을 새 문자열로 대체한다.
  • replaceFirst(String regex, String replacement) : 문자열에서 정규 표현식과 일치하는 첫 번째 부분을 새 문자열로 대체한다.
  • toLowerCase() / toUpperCase() : 문자열을 소문자나 대문자로 변환한다.
  • trim() : 문자열 양쪽 끝의 공백을 제거한다. 단순 Whitespace 만 제거할 수 있다.
  • strip() : Whitespace 와 유니코드 공백을 포함해서 제거한다.

문자열 분할 및 조합

  • split(String regex) : 문자열을 정규 표현식을 기준으로 분할한다.
  • join(CharSequence delimiter, CharSequence... elements) : 주어진 구분자로 여러 문자열을 결합한다.

기타 유틸리티

  • valueOf(Object obj) : 다양한 타입을 문자열로 변환한다.
  • toCharArray() : 문자열을 문자 배열로 변환한다.
  • format(String format, Object... args) : 형식 문자열과 인자를 사용하여 새로운 문자열을 생성한다.
  • matches(String regex) : 문자열이 주어진 정규 표현식과 일치하는지 확인한다.