✏️ Select(데이터 읽기)
테이블의 모든 열 읽어 오기 위해선 와일드 카드 문자 * 사용합니다
✏️ 집계 함수
SQL은 최댓값을 찾거나 특정 열에 가능한 고유한 값의 수를 계산하는 등 특정 열에서 연산이나 계산을 실행할 수 있는 다양한 함수를 제공합니다. 이러한 함수를 "집계 함수"라고 합니다
SQL 집계 함수의 예는 다음과 같습니다.
ex) Select 집계함수(열이름)
✏️ 중복 제거(DISTINCT)
열을 선택할 때 앞에 DISTINCT 키워드를 붙일 수 있습니다. 이 접근 방식은 쿼리 결과에서 중복 항목을 삭제하려는 경우 유용할 수 있습니다.
✏️ 쿼리 필터링(Where)
SQL WHERE 절은 단일 표현식으로 제한되지 않습니다. Kotlin의 and 연산자(&&)와 동등한 AND 키워드를 사용하여 두 조건을 모두 충족하는 결과만 포함할 수 있습니다.
✏️ 텍스트 검색(Like)
ex) email 테이블에서 sender속성이 'h' 시작하는 sender 속성을 보여줘
SELECT sender FROM email
WHERE sender LIKE 'h%';
✏️ 그룹화(GROUP BY)
GROUP BY 절을 사용하여 결과를 그룹화하면 주어진 열에 동일한 값을 가진 모든 행이 결과에서 나란히 그룹화될 수 있습니다.
ex) folder로 그룹화하여 email테이블에서 각 folder 별 갯수 확인
SELECT folder,COUNT(*) FROM email
GROUP BY folder;
✏️ 결과 정렬(ORDER BY)
기본적으로 정렬 방향은 내림차순 DESC이며 이는 ORDER BY 절에서 생략할 수 있습니다. 결과를 오름차순으로 그룹화하려면 열 이름 뒤에 ASC를 추가합니다.
ex) email 테이블에서 있는 모든 행을 received를 내림차순으로 정렬
SELECT * FROM email
ORDER BY received;
✏️ 결과 수 제한(LIMIT)
필요한 경우 OFFSET 키워드와 '건너뛸' 행 수에 관한 다른 숫자를 차례로 포함할 수 있습니다.
ex) 모든 이메일을 내림차순으로 그리고 처음 10개의 결과는 건너뛰고 다음 10개로 제한하여 가져옵니다.
Select * from email Order By received LIMIT 10 Offset 10
✏️ 데이터 삽입(INSERT)
ex)
Insert into email Values(null, 'Lorem ipsum dolor sit amet', 'sender@example.com', 'inbox', 0, 0, CURRENT_TIMESTAMP)
✏️ 데이터 변경(UPDATE)
ex) id가 44인 email테이블에서 read 값을 1로 변경
Update email set read = 1 where id = 44
✏️ 행 삭제(DELETE)
ex) email테이블에서 id가 44인 행 삭제
DELETE FROM email
WHERE id = 44;