Unit 6: SQL 기본문법

정상준·2023년 3월 17일
0
post-custom-banner

✏️ Select(데이터 읽기)

  • Select 열이름 from 테이블 이름 ;
  • Select 열이름1, 열이름2 from 테이블 이름 ;

테이블의 모든 열 읽어 오기 위해선 와일드 카드 문자 * 사용합니다

  • Select * from 테이블 이름 ;

✏️ 집계 함수
SQL은 최댓값을 찾거나 특정 열에 가능한 고유한 값의 수를 계산하는 등 특정 열에서 연산이나 계산을 실행할 수 있는 다양한 함수를 제공합니다. 이러한 함수를 "집계 함수"라고 합니다

SQL 집계 함수의 예는 다음과 같습니다.

  • COUNT(): 행의 총수를 반환하고 *와 함께 사용하여 모든 열을 계산할 수 있습니다.
  • SUM(): 선택된 열에 있는 모든 행 값의 합계를 반환합니다.
  • AVG(): 선택된 열에 있는 모든 값의 평균값을 반환합니다.
  • MIN(): 선택된 열에서 가장 작은 값을 반환합니다.
  • MAX(): 선택된 열에서 가장 큰 값을 반환합니다.

ex) Select 집계함수(열이름)

✏️ 중복 제거(DISTINCT)
열을 선택할 때 앞에 DISTINCT 키워드를 붙일 수 있습니다. 이 접근 방식은 쿼리 결과에서 중복 항목을 삭제하려는 경우 유용할 수 있습니다.

  • Select DISTINCT 열 이름 from 테이블 이름

✏️ 쿼리 필터링(Where)

  • Select 열 이름 from 테이블 이름 where 조건

SQL WHERE 절은 단일 표현식으로 제한되지 않습니다. Kotlin의 and 연산자(&&)와 동등한 AND 키워드를 사용하여 두 조건을 모두 충족하는 결과만 포함할 수 있습니다.

✏️ 텍스트 검색(Like)

  • Select 열 이름 from 테이블 이름 열 이름 Like 검색 내용

ex) email 테이블에서 sender속성이 'h' 시작하는 sender 속성을 보여줘

SELECT sender FROM email
WHERE sender LIKE 'h%';

✏️ 그룹화(GROUP BY)

GROUP BY 절을 사용하여 결과를 그룹화하면 주어진 열에 동일한 값을 가진 모든 행이 결과에서 나란히 그룹화될 수 있습니다.

  • GROUP BY 열 이름

ex) folder로 그룹화하여 email테이블에서 각 folder 별 갯수 확인

SELECT  folder,COUNT(*) FROM email
GROUP BY folder;

✏️ 결과 정렬(ORDER BY)

  • ORDER BY 열 이름 정렬 방법

기본적으로 정렬 방향은 내림차순 DESC이며 이는 ORDER BY 절에서 생략할 수 있습니다. 결과를 오름차순으로 그룹화하려면 열 이름 뒤에 ASC를 추가합니다.

ex) email 테이블에서 있는 모든 행을 received를 내림차순으로 정렬

SELECT * FROM email
ORDER BY received;

✏️ 결과 수 제한(LIMIT)

  • LIMIT 최대 행의 수

필요한 경우 OFFSET 키워드와 '건너뛸' 행 수에 관한 다른 숫자를 차례로 포함할 수 있습니다.

ex) 모든 이메일을 내림차순으로 그리고 처음 10개의 결과는 건너뛰고 다음 10개로 제한하여 가져옵니다.

Select * from email Order By received LIMIT 10 Offset 10

✏️ 데이터 삽입(INSERT)

  • Insert into 테이블 이름 Values(내용)

ex)

Insert into email Values(null, 'Lorem ipsum dolor sit amet', 'sender@example.com', 'inbox', 0, 0, CURRENT_TIMESTAMP)

✏️ 데이터 변경(UPDATE)

  • Update 테이블 이름 Set 변경할 값

ex) id가 44인 email테이블에서 read 값을 1로 변경

Update email set read = 1 where id = 44

✏️ 행 삭제(DELETE)

  • Delete from 테이블 이름 Where 조건

ex) email테이블에서 id가 44인 행 삭제

DELETE FROM email
WHERE id = 44;
profile
안드로이드개발자
post-custom-banner

0개의 댓글