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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167
| = > <= > >= ```
### SQL연산자 - BETWEEN a AND b (a 이상, b이하의 값) - IN(a,b,c) (a,b,c중 하나라도 일치하는 값이 있으면 true) - LKIE '비교문자열' 비교문자열과 형태일치(%, _) - IS NULL NULL인 경우(=NULL은 사용할 수 없음)
### 논리연산자 - AND - OR - NOT
### 부정비교연산자 - != (같지 않다) - NOT 칼럼명= a (칼럼명의 값과 a가 같지 않다) - NOT 칼럼명 > a (a보다 칼럼명의 값이 크다)
### 부정SQL연산자 - NOT BETWEEN a AND b (a와 b사이에 있지 않다. a,b 포함하지 않음) - NOT IN(a,b,c) (a,b,c값과 일치 하지 않음) - IS NOT NULL (NULL 값을 갖지 않음, !=NULL 사용불가)
## 2.비교연산자
- STRING은 ''나 ""으로 묶어서 사용 - 숫자는 "",''사용 안 함
예제)
COFFEELIST 테이블에서 브랜드가 스타벅스 커피중에 가격이 5000원 이하이고 용량이 200m이상인 커피의 브랜드, 종류, 가격, 용량순으로 조회하시오. ```sql SELECT 브랜드, 종류, 가격 FROM COFFEELIST WHERE 브랜드 = '스타벅스' AND 가격 <=5000 AND 용량 >=200; ```
### 문자유형 비교방법 **CHAR VS CHAR** - 길이가 다른 CHAR은 작은쪽에 SPACE추가하여 비교 - 서로 다른 문자가 나올때 까지 비교 - 달라진 첫 문자의 값에 따라 크기 결정 - BLANK 수만 다르면 서로 같은 값으로 결정
**VARCHAR2 VS CHAR** - 서로다른 문자가 나올때까지 비교 - 길이다 다르면 짧은것이 끝날때까지만 비교 후 길이가 긴 것이 긴것으로 결정 - 길이가 같고 같은것이 없으면 같은것으로 결정 - VARCHAR2는 NOT NULL까지 길이를 말함(?)
**NUMVER VS 문자열** - 상수를 변수 타입과 동일하겨 변경 후 비교 - 변수쪽이 CHAR 유형 타입이면 CAHR VS CHAR 적용 - 변수쪽이 VARCHAR2유형 타입이면 VARCHAR2 VS CHAR 적용
## 3. SQL 연산자 - 모든 데이터 타입에 적용가능한 연산자 소개 ### IN(a,b,c) 연산자 - ()안에든 조건 중 하나와 일치하면 참
예제1) COFFEELIST 테이블에서 브랜드가 스타벅스, 커피빈, 이디아인 데이터를 모두 조회하시오. ```sql SELECT * FROM COFFEELIST WHERE 브랜드 IN('스타벅스', '커피빈', '이디아'); ```
예제2) COFFEELIST 테이블에서 브랜드가 스타벅스이면서 가격이 5000원 이거나, 브랜드가 이디아이면서 가격이 3000원인 커피 데이터를 모두 조회 하시오. * 결과 데이터 : 스벅 5000원커피 , 이디아 3000원 커피 ```sql SELECT * FROM COFFEELIST WHERE (브랜드, 가격) IN(('스타벅스',5000),('이디아', 3000)); ```
예제3) COFFEELIST 테이블에서 브랜드가 스타벅스이거나 이디아이고, 가격이 5000원이거나 3000원인 데이터를 모두 조회하시오. (예제2번과 결과가 다르다 비교하길) * 결과 데이터 : 스벅 5000원 커피, 스벅 3000원커피, 이디아 5000원 커피, 이디아 3000원 커피 ```sql SELECT * FROM COFFEELIST WHERE 브랜드 IN('스타벅스','이디아') OR 가격 IN(5000, 3000); ```
### LIKE 연산자 - %는 아무 데이터나 다 받음 - _는 한표시당 한 글자만 받음
예제) COFFEELSIST테이블에서 종업원 성이 김 씨인 커피점 조회하시오. ```sql SELECT * FROM COFFEELIST WHERE 종업원 LIKE '김%'; ```
### BETWEEN a AND b 연산자
예제) COFFEELIST테이블에서 가격이 3000에서 5000원인 데이터 조회. * 결과값 : 커피가격이 3000원이상 5000원이하인 커피 데이터 리스트
```sql SELECT * FROM COFFEELIST WHERE 가격 BETWEEN 3000 AND 5000; ```
### IS NULL 연산자 - NULL 과 수치 연산은 NULL값 리턴 - NULL과 비교연산은 FALSE리턴 - 특정값과 비교할 수 없고 크기 비교 불가
```sql SELECT * FROM COFFEELIST WHERE 브랜드 = NULL; --결과값 : 선택된 레고드가 없음. (브랜드 = NULL)이 FALSE이기 때문
SELECT * FROM COFFEELIST WHERE 브랜드 IS NULL; --결과값 : 브랜드칼럼에 NULL이 들어가있는 데이터 조회 ```
## 4. 논리연산자 ### AND 해당되는 조건이 모두 참이어야 참 ### OR 앞뒤의 조건 중 하나라도 참이면 참 ### NOT 뒤에오는 조건과 반대되는 결과 리턴 - 연산자의 우선순위 (), NOT, AND, OR 순서이므로 ()를 적절히 사용하여 원하는 조건을 형성해야함
## 5. 부정연산자 ### 논리부정연산자 ### 부정 SQL연산자
## 6. ROWNUM ### ROWUNUM - 임시로 부여되는 행 번호 - 테이블에서 원하는 행만 가져올때 WHERE절에서 행의 개수를 제한하는 목적으로 사용
```sql --1행만 가져올때 SELECT * FROM COFFEELIST WHERE ROWNUM=1; SELECT * FROM COFFEELIST WHERE ROWNUM<=1; SELECT * FROM COFFEELIST WHERE ROWNUM<2;
--2행 이상 가져올때 SELECT * FROM COFFEELIST WHERE ROWNUM<=3; SELECT * FROM COFFEELIST WHERE ROWNUM=3;--이건 사용불가(무조건 1행부터 데이터를 가져오기때문) --고유한 키나 인덱스로 활용가능 UPDATE MY_TABLE SET COLUMN1 = ROWNNUM;
|