DB - SQL_ SELECT문 관련 정리

윤지영·2024년 4월 15일
  • SELECT문

# SELECT문 구조
SELECT 
  속성명
/*  
  속성명, 속성명, 속성명	 
  *	
  DISTINCT 속성명 
  집계함수(속성명)
*/
FROM 테이블명

WHERE 조건
# AND | OR | BETWEEN ~ AND | NOT | LIKE | IS NULL | IS NOT NULL

GROUP BY
HAVING 조건 집계함수(속성명)


ORDER BY 속성 #ASC|DESC

🔥 주의!

  • AND :: WHERE, HAVING절에서만 사용 :: 여러 조건을 동시에 만족해야 할 때 사용
  • ,(콤마) :: SELECT 절에서 여러 열(column)을 선택할 때, ORDER BY 절에서 여러 열에 대해 정렬 순서를 지정할 때, 그리고 GROUP BY 절에서 그룹화할 열을 나열할 때 사용.
// 평균성적 테이블에서 평균 필드값이 90이상 95이하인 학생들을 검색하여 
// 학년 필드 기준으로 내림차순, 반 필드를 기준으로 오름차순 정렬하여 표시
	WHERE 평균 >= 90 AND 평균 <= 95
	ORDER BY 학년 DESC ,ASC;
//이름이 '홍길동'이면서 도시가 '서울'인 사람 검색
SELECT * FROM people
WHERE name = '홍길동' AND city = '서울';
//이름과 도시를 선택하고, 이름으로 정렬한 후 도시로 정렬
SELECT name, city FROM people
ORDER BY name, city;
//학생 테이블에서 grade와 class별로 평균 점수(average_score)를 계산
SELECT grade, class, AVG(average_score) AS avg_score
FROM students
GROUP BY grade, class;
  • 집계함수(그룹함수)

    GROUP BY 절에 지정된 그룹별로 속성의 값을 집계
    집계함수는 SELECT~FROM 사이, HAVING 절에만 들어갈 수 있다!
    WHERE절 내부에서 사용 불가!

    • COUNT : 그룹별 튜플 수 구하는 함수

      • COUNT(*): NULL 포함한 전체 행 수를 반환.
      • COUNT(컬럼명): 지정된 컬럼에서 NULL 값을 가진 행은 제외한 행 수 반환.
    • SUM : 그룹별 합계를 구하는 함수

    • AVG : 그룹별 평균을 구하는 함수

    • MAX : 그룹별 최대값을 구하는 함수

    • MIN : 그룹별 최소값을 구하는 함수

  • 중복 제거

    학생테이블에서 학과의 중복을 제거하고 검색하는 SQL문

    SELECT DISTINCT 학과 FROM 학생

  • UNION, UNION ALL

    • UNION : 중복 제거 한 합집합
    • UNION ALL : 중복 제거하지 않은 합집합
  • AS 별칭

    [성적] 테이블에서 '언어' 필드와 '수리' 필드를 더한 후 합계라는 이름으로 표시

    SELECT 언어+수리 AS 합계 FROM 성적;

  • BETWEEN ~ AND 를 AND로 표현하기

    SELECT *
    FROM 성적
    WHERE (점수 BETWEEN 90 AND 95) AND 학과=‘컴퓨터공학과’;
    점수 >= 90 AND 점수 <=95

  • NULL값인 경우, NULL이 아닌 경우

    SELECT *
    FROM 테이블명
    WHERE 속성명 IS NULL ;

    • NULL이 아닌 경우 : IS NOT NULL
profile
쑥쑥쑥쑥 레벨업🌱🌼🌳

0개의 댓글