SQL 활용 예제
1. 조건에 따른 데이터 조회
: 특정 조건에 맞는 데이터를 조회하는 쿼리
SELECT bookname, price
FROM Book
WHERE price <= 20000
AND publisher NOT IN ('출판사A', '출판사B');
▶ 이 쿼리는 가격이 20000원 이하이면서 출판사가 '출판사A' 또는 '출판사B'가 아닌 책을 조회한다. 여러 조건을 결합하여 원하는 데이터를 정확히 추출할 수 있다는 점에서 AND, OR, NOT 등의 논리 연산자는 유용하게 쓰일 수 있다고 볼 수 있다.
2. 집계 함수 활용
: 집계 함수를 사용하여 데이터를 분석할 수 있다. SUM, AVG, MIN, MAX, COUNT와 같은 함수는 주로 데이터의 요약 통계를 계산할 때 사용됩니다.
SELECT SUM(price) AS Total,
AVG(price) AS Average,
MIN(price) AS Minimum,
MAX(price) AS Maximum,
COUNT(*) AS BookCount
FROM Book;
▶ 이 쿼리는 Book 테이블에서 책 가격의 총합, 평균, 최소값, 최대값, 그리고 책의 개수를 계산한다. 집계 함수는 데이터를 빠르게 요약하고 분석할 수 있다.
3. GROUP BY와 HAVING
: GROUP BY와 HAVING 절을 활용하여 그룹화된 데이터에 조건을 추가할 수 있다.
SELECT publisher, AVG(price) AS 평균가격
FROM Book
GROUP BY publisher
HAVING AVG(price) >= 8000;
▶ GROUP BY는 데이터를 그룹화하고, HAVING 절은 그 그룹에 대해 추가적인 조건을 적용할 수 있게 한다. WHERE 절은 그룹화 이전에 조건을 필터링할 때 사용되며, HAVING은 그룹화 후에 조건을 적용하는 점에서 차이가 있다.
4. 조인과 조건을 활용한 복잡한 쿼리
: JOIN을 사용하여 여러 테이블을 연결하고 조건에 맞는 데이터를 조회할 수 있다.
SELECT Customer.name, Book.bookname, Book.price
FROM Customer
INNER JOIN Orders ON Customer.custid = Orders.custid
INNER JOIN Book ON Orders.bookid = Book.bookid
WHERE Book.price >= 20000
ORDER BY Book.price DESC;
▶ 이 쿼리는 가격이 20000원 이상인 책을 구매한 고객의 이름과 책 이름을 조회한다. 또한, ORDER BY 절을 사용하여 결과를 가격 기준으로 내림차순으로 정렬한다.
5. 서브쿼리 활용
: 서브쿼리는 쿼리 내에서 다른 쿼리를 실행하여 데이터를 필터링하는 데 사용된다. 서브쿼리는 종종 복잡한 조건을 처리하거나 다른 쿼리의 결과를 기반으로 데이터를 조회할 때 유용하다.
SELECT bookname, price
FROM Book
WHERE publisher IN (
SELECT publisher
FROM Book
WHERE price > 10000
);
▶ 이 쿼리는 가격이 10000원 이상인 책을 출판한 출판사의 모든 책을 조회한다. 서브쿼리는 IN 연산자와 함께 사용되어 조건을 동적으로 처리할 수 있다.
SQL 작성 시 주의사항
1. 대소문자 구분
SQL 키워드는 대소문자를 구분하지 않지만, 가독성을 위해 대문자로 작성하는 것이 일반적이다. 이렇게 하면 쿼리를 읽는 사람이 빠르게 SQL 키워드를 인식할 수 있다. 예를 들어, SELECT, FROM, WHERE 등의 키워드는 대문자로 작성하는 것이 좋다.
2. 조건의 명확성
WHERE 절에서 조건을 명확히 작성하여 원하는 데이터를 정확히 필터링해야 한다. 조건이 불명확하면 불필요한 데이터를 반환하거나 원하는 데이터를 놓칠 수 있다. 조건을 설정할 때는 항상 가능한 모든 경우를 고려하고 논리적 오류가 없도록 해야 한다.
3. 성능 고려
대량의 데이터를 다룰 때는 성능을 고려하는 것이 매우 중요하다. 예를 들어 JOIN 연산을 많이 사용하거나 조건이 복잡한 경우에는 쿼리 성능이 떨어질 수 있다. 이럴 때는 인덱스를 활용하거나 필요한 데이터만 조회할 수 있도록 쿼리를 최적화하는 것이 필요하다.
작성자 | 신수민 |
소 감 | SQL은 단순히 데이터를 조회하는 것에 그치지 않고 데이터 분석 관리 성능 최적화 등 다양한 측면에서 활용할 수 있다는 점을 알게 되었다. |
2025. 5. 2. (금) 18:00 ~ 21:00 | |
장 소 | 미래관 306호 소프트웨어융합대학 과방 |
참가자 명단 | 신수민, 임혜진, 배세은, 김윤희 (총 4명) |
사 진 | ![]() |
'수민' 카테고리의 다른 글
[호붕싸 모각코 8차] (0) | 2025.04.11 |
---|---|
[호붕싸 모각코 7차] (0) | 2025.04.04 |
[호붕싸 모각코 6차] (0) | 2025.03.31 |
[호붕싸 모각코 5차] (0) | 2025.03.24 |
[호붕싸 모각코 4차] (0) | 2025.03.23 |