SELECT
SELECT
: 데이터베이스의 데이터를 읽어옴
: DML에 속하는 명령
: 표 형식의 데이터 출력
: '질의'나 '쿼리'라고 불리기도 함
SELECT * FROM 테이블명;
- SELECT : SQL 명령의 한 종류
- * : 모든 열을 의미하는 메타문자
- FROM : 처리 대상 테이블을 지정하는 키워드
예약어와 데이터베이스 객체명은 대소문자 구별 X
SELECT * FROM sample21;
테이블 데이터
- 수치형 데이터 : 숫자만으로 구성된 데이터. 오른쪽 정렬
- 문자열형 데이터 : 임의의 문자로 구성된 데이터. 왼쪽 정렬
- 날짜시간형 데이터 : 날짜와 시각을 나타내는 데이터. 왼쪽 정렬
- NULL 데이터 : 값이 없는 데이터
DESC
DESC
: 테이블 구조 참조할 때 사용
: 테이블에 어떤 열이 정의되어 있는지 확인
DESC 테이블명;
- Field : 열 이름 표시
- Type : 해당 열의 자료형
- Null : NULL 값을 허용할 것인지 아닌지를 나타내는 제약사항
- Default : 그 열에 주어진 기본값. 데이터 값을 생략했을 경우 적용되는 값
자료형
- INTEGER형 : 정수값 저장
- CHAR형 : 고정 길이 문자열 저장. 열의 최대 길이 지정해야 함
- VARCHAR형 : 가변 길이 문자열 저장. 열의 최대 길이 지정해도 데이터 크기에 따라 저장공간 크기 변경
- DATE형 : 날짜값 저장
- TIME형 : 시간 저장
검색 조건 지정 - 행 열 지정
SELECT 선택할열 FROM 테이블명 WHERE 조건식;
SELECT 구에서 열 지정
: 열을 지정하지 않으면 에러 발생
: 존재하지 않는 열 지정하면 에러 발생
SELECT no, name FROM sample21;
WHERE 구에서 행 지정
: FROM 구 뒤에 작성해야 함
: WHERE 구 생략하면 모든 행이 검색 대상
- = 연산자 : 좌변과 우변의 값이 같으면 참, 같지 않으면 거짓
SELECT * FROM sample21 WHERE no=2;
SELECT * FROM sample21 WHERE name = '박준용';
- <> 연산자 : 좌변과 우변의 값이 서로 다른 경우 참, 같으면 거짓
SELECT * FROM sample21 WHERE no <> 2;
- IS NULL : 좌변 항목의 값이 NULL인 경우 참
SELECT * FROM sample21 WHERE birthday IS NULL;
AND, OR, NOT - 조건 조합하기
- sample24 테이블
AND로 조합
: 모든 조건이 만족하는 경우 참
: 논리곱 계산
: OR보다 우선 순위 높음
SELECT * FROM sample24 WHERE a <> 0 AND b <> 0;
OR로 조합
: 어느 쪽이든 하나만 참이 되면 참
: 논리합 계산
SELECT * FROM sample24 WHERE a <> 0 OR b <> 0;
NOT로 조합
: 오른쪽에 지정한 조건식의 반대 값 반환
SELECT * FROM sample24 WHERE NOT (a <> 0 OR b <> 0);
LIKE
LIKE
: 특정 문자나 문자열이 포함되어 있는지 검색할 때 사용
: 패턴 매칭(부분 검색)이라고 함
열 LIKE '패턴'
- sample25 테이블
메타문자(와일드카드)
- 퍼센트(%) : 임의의 문자열
- 언더스코어(_) : 임의의 문자 하나
전방 일치
: 특정 문자열로 시작하는 값을 포함한 데이터 검색
SELECT * FROM sample25 WHERE text LIKE 'SQL%';
중간 일치
: 특정 문자열을 가진 값을 포함한 데이터 검색
SELECT * FROM sample25 WHERE text LIKE '%SQL%';
후방 일치
: 특정 문자열로 끝나는 값을 포함한 데이터 검색
SELECT * FROM sample25 WHERE text LIKE '%있다.';
이스케이프
: 메타문자를 검색할 때 사용
- '%\%%' : %를 포함한 문자열 검색
- '''' : '를 포함한 문자열 검색
'Back-end > SQL' 카테고리의 다른 글
[SQL] 데이터베이스와 SQL, mysql 클라이언트 사용법 (0) | 2023.11.17 |
---|