백엔드 개발 공부 일지
인공지능 부트캠프 24기 _ 2일차 (Where 절, Order by 절) 본문
※ Where 절 ※
Where 절은 select 문의 특정조건 데이터를 조회하기 위해 사용되며, from 절 다음에 조건식과 함께 기재된다.
Where 절 다음에 나올 수 있는 조건문은 크게 6가지로 나누어 진다.
1) 비교연산자
다른 언어에서도 흔히 사용되는 연산자이며 2개의 대상을 비교하는 용도로 쓰인다.
다만) 다른 언어와 달리 같다가 '=='이 아닌 '='인 점은 체크해야한다.
2가지 대상을 비교해 해당 조건이 만족하면 select문에 의해 반환된다.
비교 연산자는 숫자 뿐 아니라, 문자, 날짜에도 사용되며
문자의 경우 아스키 코드(A = 65, a =97)을 기준으로 날짜(7byte)의 경우 미래일수록 큰 수로 간주하여 계산하게 된다.
2) between A and B
말 그대로 A와 B사이 라는 조건을 추가하는 조건문이다.
다만! A와 B도 포함한 값이므로 이는 주의!
마찬가지로 문자, 날짜에도 사용 가능!
3) IN 연산자
다다음에 나올 논리 연산자의 OR과 역할이 동일하나, OR을 여러번 쓰는것보다 한번의 IN으로 대체가 가능하다.
값중 하나라도 포함하게 되면 조건에 만족하게 된다.
4) Like(_%) 연산자
완전 동등하지 않더라도 비슷한 문자(임의의 문자만 일치하는 경우)의 조건을 넣어주는 역할을 한다
Like(_%) 연산자는비교하고자하는 문자의위치를 알기 위해 아래와 같이 와일드카드 문자와 함께 사용된다.
Like 연산자는 Escape 문자를 사용해야하는 경우가 있다.
와일드카드가 의도치 않게 검색하고자 하는 문자와 겹칠경우 아래와 같이 와일드 카드를 지정해 줘야한다.
5) 논리 연산자
다른 언어에서도 사용되는 논리 연산자와 거의 동일하며 2개이상의 조건이 있을경우 아래의 논리 연산자를 사용하여 나열하여 주면 된다.
여기서! 논리연산자를 사용할떄는 NOT, AND, OR 순서대로 무조건 진행되기에 자신이 원하는 순서에 맞게 괄호를 반드시 쳐줘야 할 것.
** Not 연산자 사용방법
Not 연산자는 말 그대로 뒤의 조건식을 부정하는 역할을 하며 비교 연산자인 != 와도 역할이 비슷하다.
부정하는 역할의 NOT 연산자를 정리하면 다음 테이블과 같다.
6) IS NULL 연산자
추가적으로 위의 5가지 방법으로는 NULL을 다룰 수 가 없기에 NULL 이 있거나 혹은 없는 조건을 추가하기 위해 사용한다.
※ ORDER BY 절 ※
우리가 획득하는 데이터는 기본적으로 정렬이 되어 있지 않다.
그러한 데이터를 쉽게 가독, 처리하기 위해 데이터 정렬이 요구되며 이를 위해 ORDER BY 절을 사용하여야한다.
ORDER BY 절은 FROM, WHERE 절 다음에 위치하여 기준 column, 차순을 입력하여 사용한다.
차순을 안쓰면 자동으로 오름차순으로 정렬하게 된다.
여기서! 단일 기준으로 정렬시 동일한 값이 발생할 수 있는데, 이 중에서도 또 기준을 추가하여 정렬을 하고 싶다면 , 뒤에 계속 기준 컬럼과 차순을 나열하면 된다.
중요 !! 정렬과정은 데이터 수에 따라 모든 데이터를 분석하여 정렬을 해야하므로 부하가 매우 많이 걸리는 작업이다.
이에따라서 할 수 있는한 이작업을 회피하여 데이터 처리 작업을 하는게 효율적이라고 할 수 있다.
'SQL' 카테고리의 다른 글
인공지능 부트캠프 24기 _ 4일차 (그룹함수, Oracle JOIN) (0) | 2022.09.15 |
---|---|
인공지능 부트캠프 24기 _ 3일차 (SQL 함수, 단일항 함수) (0) | 2022.09.11 |
인공지능 부트캠프 24기 _ 2일차 (관계형 데이터 구조, Select 문 ) (0) | 2022.09.07 |
인공지능 부트캠프 24기 _ 1일차 (제약조건, SQL 문 종류) (0) | 2022.09.05 |
인공지능 부트캠프 24기 _ 1일차 (개요) (0) | 2022.09.05 |