간단한 SQL 깨우기 및 자바

이병관·2025년 1월 15일
0

sql로 감 다시 잡기

감을 다시 잡는것은 sql만한것이 없다.

  1. 모든 직원의 이름(name)과 직급(position)을 선택하는 쿼리

    SELECT name, position FROM sparta_employees;
  2. 중복 없이 모든 직급(position)을 선택하는 쿼리

    SELECT DISTINCT position FROM sparta_employees;
  3. 연봉(salary)이 40000과 60000 사이인 직원들을 선택하는 쿼리

    SELECT * FROM sparta_employees WHERE salary BETWEEN 40000 AND 60000;
  4. 입사일(hire_date)이 2023년 1월 1일 이전인 모든 직원들을 선택하는 쿼리

    SELECT * FROM sparta_employees WHERE hire_date < '2023-01-01';

  1. 제품 이름(product_name)과 가격(price)만을 선택하는 쿼리

    SELECT product_name, price FROM products;
  2. 제품 이름에 '프로'가 포함된 모든 제품을 선택하는 쿼리

    SELECT * FROM products WHERE product_name LIKE '%프로%';
  3. 제품 이름이 '갤'로 시작하는 모든 제품을 선택하는 쿼리

    SELECT * FROM products WHERE product_name LIKE '갤%';
  4. 모든 제품을 구매하기 위해 필요한 총 금액을 계산하는 쿼리

    SELECT SUM(price) AS total_price FROM products;

LIKE%는 SQL에서 문자열 패턴을 검색할 때 사용하는 기능. 각각의 역할은 다음과 같다:


1. LIKE 연산자

LIKE는 특정 패턴에 맞는 문자열을 찾을 때 사용하는 연산자다. 예를 들어, WHERE product_name LIKE '갤%'라고 하면, product_name'갤'로 시작하는 모든 문자열을 찾는다.


2. % 와일드카드

%0개 이상의 임의의 문자를 의미하는 와일드카드다.

  • %를 사용하여 문자열의 어느 위치든 상관없이 패턴을 매칭할 수 있다.

사용 예시:

  • LIKE '%프로%''프로'라는 단어가 포함된 모든 문자열을 찾음
  • LIKE '갤%''갤'로 시작하는 모든 문자열을 찾음
  • LIKE '%커피머신''커피머신'으로 끝나는 모든 문자열을 찾음

요약

  • LIKE: 문자열 패턴 검색에 사용
  • %: 임의의 문자를 포함한 패턴을 나타냄

System.out.println(Arrays.toString(intarray));

Java에서 배열을 System.out.println()으로 바로 출력하면, 배열의 메모리 주소(실제로는 타입@해시코드)가 문자열로 찍힌다. 예를 들어 intarray를 그냥 System.out.println(intarray); 로 출력하면, [I@6d06d69c 와 같은 결과가 나오게 된다.

왜 그럴까?

  • 배열도 객체이기 때문에, 기본적으로 Object 클래스의 toString() 메서드를 상속한다.
  • 하지만 배열은 자신의 요소를 출력하는 기능을 따로 재정의(override)해두지 않았다.
  • 그래서 배열 객체의 toString()을 호출하면, 기본적으로 타입@해시코드 형태의 값이 나오는 것.

Arrays.toString() 메서드

System.out.println(Arrays.toString(intarray));
  • Arrays.toString(...) 메서드는 배열의 요소를 문자열 형태로 예쁘게 만들어 주는 기능을 한다.
  • 예를 들어 intarray{1, 2, 3, 4, 5}라면, [1, 2, 3, 4, 5] 라고 출력해 준다.

정리

  • println(배열명)기본 toString()타입@해시코드 출력
  • println(Arrays.toString(배열명))배열 요소를 사람이 읽기 쉬운 문자열 출력

그래서 배열의 내용을 확인하고 싶다면, Arrays.toString()을 사용해야 한다.

profile
뜨겁고 매콤하고 화끈하게

0개의 댓글

관련 채용 정보