일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 인스턴스
- Git_정리
- JavaScript
- 배열
- Linux_명령어정리
- 다이어그램
- 이클립스
- git
- github
- Spring_오류정리
- Spring_에러정리
- 아파치톰캣
- 인덱스
- SQL
- jsp
- 자바
- java
- asp.net
- vb.net
- spring
- SQL_용어정리
- Linux
- CSS
- workbench
- Git_명령어정리
- 자바스크립트
- DML
- json
- HTML
- MySQL
- Today
- Total
데브마우스
[SQL] SELECT ~ FROM ~ WHERE 정리 본문
SELECT문이란 무엇인가요?
SELECT문은 테이블에서 데이터를 추출하는 기능을합니다. SELECT문을 사용해도 테이블의 데이터가 변경되지 않습니다.
SELECT문의 기본 형식은 "SELECT 컬럼이름 FROM 테이블이름 WHERE 조건식"입니다. 조건식을 사용하여 데이터 베이스에서 원하는 데이터를 뽑아낼 수 있습니다.
-- SELECT의 구조
SELECT select_expr(열 이름)
[FROM table_references(테이블 이름)]
[WHERE where_condition(조건식)]
[GROUP BY {col_name | expr | position}(열 이름)]
[HAVING where_condition(조건식)]
[ORDER BY {col_name | expr | position}(열 이름)]
[LIMIT {[offset, ] row_count | row_count OFFSET offset}(숫자)]
SELECT문을 사용하기 전에 해야하는게 있나요?
SELECT문을 사용하기 전 use 키워드를 이용해 사용할 데이터베이스를 지정해야합니다.
USE 데이터베이스_이름;
만약 USE 키워드를 사용하지 않는다면 아래와 같이 작성합니다.
SELECT * FROM 데이터베이스_이름.테이블_이름; -- USE를 사용하지 않은 경우입니다.
SELECT * FROM 테이블_이름; -- USE로 데이터베이스를 지정한 경우입니다.
별칭(alaias)
별칭을 사용하면 원래 컬럼 이름 대신 지정한 별칭이 출력됩니다. 별칭은 as 혹은 컬럼 이름 뒤에 한 칸 띄운 후 원하는 별칭을 입력하시면 됩니다.
SELECT age AS "나이" from member;
SELECT age 나이 from member;
SELECT age AS "나 이" from member; -- 별칭에 공백이 있는 경우 큰따옴표로 묶어줍니다.
'='를 활용한 WHERE 절
문자나 숫자에 사용하며 정확히 일치하는 값을 찾습니다.
관계 연산자를 활용한 WHERE 절
숫자에 사용합니다.
관계 연산자는 >, <, >=, <=, = 등이 있습니다.
논리 연산자를 활용한 WHERE 절
숫자와 문자 둘 다 사용이 가능합니다.
논리 연산자에는 AND과 OR이 있습니다.
AND는 양 옆의 조건을 모두 만족해야 하며 OR는 둘 중 하나만 조건을 만족해도 됩니다.
BETWEEN ~ AND를 활용한 WHERE 절
숫자에 사용합니다.
아래 두 코드는 결과물이 동일합니다.
숫자의 이상, 이하 범위를 조건식에서 사용할 때 BETWEEN ~ AND가 편리합니다.
SELECT mem_name, height FROM member WHERE age >= 20 AND height <=25;
SELECT mem_name, height FROM member WHERE age BETWEEN 20 AND 25;
IN()를 활용한 WHERE 절
문자에 사용합니다.
조건식에서 여러 문자 중 하나에 포함되는지 비교할 때는 IN()이 간결합니다.
SELECT mem_name, addr FROM member WHERE addr="경기" OR addr="전남" OR addr="경남";
SELECT mem_name, addr FROM member WHERE addr IN("경기", "전남", "경남");
LIKE를 활용한 WHERE 절
문자에 사용합니다.
문자열 일부 글자를 검색하는데 LIKE 절과 퍼센트(%) 혹은 언더바(_)를 사용합니다.
모든 글자를 허용하는 퍼센트(%)
아래 코드에서는 "우"로 시작하는 모든 문자열을 검색합니다.
SELECT * FROM member WHERE mem_name LIKE "우%";
만약 %우% 였더마념 중간에 우가 들어가는 모든 글자를 찾습니다.
확장자가 jpg인, 이미지 파일을 찾는다면 %.jpg같은 방법으로 찾을 수 있습니다.
한 글자와 매칭하는 언더바(_)
한 글자와 매치하기 위해서는 언더바(_)를 사용합니다.
-- 다음 SQL은 이름(mem_name)의 앞 두글자는 상관없고 뒤는 '핑크'인 회원을 검색합니다.
SELECT * FROM member where mem_name LIKE "__핑크";
서브 쿼리
서브 쿼리는 하위 쿼리라고도 불리며, SELECT 안에 또 다른 SELECT가 들어가는 것입니다.
-- 서브쿼리
-- SELECT문 안에 SELECT문이 있는 것
-- 이름(mem_name)이 '1반'인 회원의 평균 키(height)보다 큰 회원을 검색합니다.
SELECT height FROM member WHERE mem_name = '1반';
SELECT mem_name, height FROM member WHERE height > 164;
SELECT mem_name, height FROM member WHERE height > (SELECT height FROM member WHERE mem_name = "1반");
'데이터베이스 > SQL: 정리' 카테고리의 다른 글
[SQL] SELECT와 ORDER BY, LIMIT, DISTINCT 정리 (0) | 2024.01.02 |
---|---|
[SQL] 인덱스, 뷰, 스토어드 프로시저 정리 (0) | 2024.01.02 |
[SQL] 데이터베이스 구축 절차 (0) | 2024.01.02 |
[SQL] DBMS란 무엇인가요? (0) | 2024.01.02 |
[SQL] 데이터베이스의 자료형 (0) | 2024.01.02 |