재미있게 코딩합시다

2. 데이터베이스 - 연산 본문

IT /데이터베이스

2. 데이터베이스 - 연산

감민셔 2018. 12. 21. 16:45

데이터 베이스- 연산


※ null은 데이터가 없기때문에 연산자체가 안됨

ex) select * from employee where comm = null ;

하면 널은 데이터가 없고 연산이 안되기때문에 결과값이 나오지않는다.

ex)select * from employee where comm is null;

라고 해야한다.






1.  between

=>연산자, 특정 컬럼에 데이터값이 하한값 상한값 사이에 포함되는 레코드를 조회할때 사용

ex) select * from employee where sal between 1200 and 1500



2. IN 연산자 

=> 특정 컬럼값이 A,B,C 중에 하나라도 일치하면 true

ex) select * from employee where comm in (300,500,1400);



3. like = (문자)가 들어가는 게 잇냐고 물어봄


% => 리눅스에서 * (와일드카드)랑 비슷 => s%는 앞이 s은 모든 문자를 출력

=> 0글자 이상의 어떤 문자들...

ex) '_A%' =>  2번쨰 단어가 A가 들어가는 문자들


4.  ifnull(comm,0)

=> comm에 null이 잇으면 0으로 변환 (null값이 0으로 변합니다)



5. AS 

select ename as 이름,sal,sal*12, sal+12+ifnull(comm,0) from employee;

=> ename 을 이름으로 바꿀때

별칭에 띄어쓰기 잇으면  ' ' or " " 로 묶어야합니다.


6.  order by (정렬할 컬럼명)

=> default = 오름차순 

ex) select * from employee order by sal;


7. desc (내림차순) 

order by (정렬할 컬럼명) desc;

=> 내림차순



#문자함수

#대소문자를 변환해주는 함수

#upper, lower, initcap



1. upper 

=>대문자로 다바꿔준다.



2. lower

=>소문자로 다바꿔준다.

ex) select ename, upper(ename), lower(ename) from employee;



3. initcap

=>첫글자만 대문자로 바꿔줌



※MYSQL은 DBMS는 기본으로 대소문자를 구분하지 않도록 설정이 되어잇다


만약 대소문자를 구분하도록 설정되어잇다면

show variables like 'lower_case_table_names';

==> 이렇게 설정해주면 됩니다 

==> 하지만 이렇게 설정을 하게된다면  귀찮습니다..


설정을하게되면

=> select * from employee where lower(ename)='scott';

이렇게 일일이 구분을 해줘야 합니다.


★ 꼭 필요한게 아니면 설정을 안해줘도 될꺼같습니다.










'IT > 데이터베이스' 카테고리의 다른 글

6. 데이터베이스 -조인  (0) 2018.12.21
5. 데이터베이스 - 데이터 그룹 사용하기  (0) 2018.12.21
4. 데이터베이스 - 쿼리  (0) 2018.12.21
3. 데이터베이스 -함수  (0) 2018.12.21
1. 데이터 베이스  (0) 2018.12.21
Comments