감을 다시 잡는것은 sql만한것이 없다.
모든 직원의 이름(name)과 직급(position)을 선택하는 쿼리
SELECT name, position FROM sparta_employees;
중복 없이 모든 직급(position)을 선택하는 쿼리
SELECT DISTINCT position FROM sparta_employees;
연봉(salary)이 40000과 60000 사이인 직원들을 선택하는 쿼리
SELECT * FROM sparta_employees WHERE salary BETWEEN 40000 AND 60000;
입사일(hire_date)이 2023년 1월 1일 이전인 모든 직원들을 선택하는 쿼리
SELECT * FROM sparta_employees WHERE hire_date < '2023-01-01';
제품 이름(product_name)과 가격(price)만을 선택하는 쿼리
SELECT product_name, price FROM products;
제품 이름에 '프로'가 포함된 모든 제품을 선택하는 쿼리
SELECT * FROM products WHERE product_name LIKE '%프로%';
제품 이름이 '갤'로 시작하는 모든 제품을 선택하는 쿼리
SELECT * FROM products WHERE product_name LIKE '갤%';
모든 제품을 구매하기 위해 필요한 총 금액을 계산하는 쿼리
SELECT SUM(price) AS total_price FROM products;
LIKE
와 %
는 SQL에서 문자열 패턴을 검색할 때 사용하는 기능. 각각의 역할은 다음과 같다:
LIKE
연산자LIKE
는 특정 패턴에 맞는 문자열을 찾을 때 사용하는 연산자다. 예를 들어, WHERE product_name LIKE '갤%'
라고 하면, product_name
이 '갤'로 시작하는 모든 문자열을 찾는다.
%
와일드카드%
는 0개 이상의 임의의 문자를 의미하는 와일드카드다.
%
를 사용하여 문자열의 어느 위치든 상관없이 패턴을 매칭할 수 있다.LIKE '%프로%'
→ '프로'라는 단어가 포함된 모든 문자열을 찾음 LIKE '갤%'
→ '갤'로 시작하는 모든 문자열을 찾음 LIKE '%커피머신'
→ '커피머신'으로 끝나는 모든 문자열을 찾음LIKE
: 문자열 패턴 검색에 사용 %
: 임의의 문자를 포함한 패턴을 나타냄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()
을 사용해야 한다.