본문 바로가기
개발/sql

mysql,if,ifnull, format, update,이중 select

by 카앙구운 2015. 8. 17.
728x90
반응형

membership

필드종류Collation보기Null기본값추가실행
int(10)UNSIGNED아니오auto_increment보기변경삭제기본인덱스고유값Fulltext
varchar(20)euckr_korean_ci아니오보기변경삭제기본인덱스고유값Fulltext
varchar(100)euckr_korean_ci아니오보기변경삭제기본인덱스고유값Fulltext
varchar(20)euckr_korean_ci아니오보기변경삭제기본인덱스고유값Fulltext
enum('M', 'F')euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
dateNULL보기변경삭제기본인덱스고유값Fulltext
varchar(100)euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
varchar(20)euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
varchar(20)euckr_korean_ci아니오보기변경삭제기본인덱스고유값Fulltext
char(6)euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
varchar(100)euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
varchar(100)euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext


memberOther


필드종류Collation보기Null기본값추가실행
int(10)UNSIGNED아니오auto_increment보기변경삭제기본인덱스고유값Fulltext
char(4)euckr_korean_ci아니오보기변경삭제기본인덱스고유값Fulltext
varchar(20)euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
char(4)euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
enum('1', '2', '3')euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
enum('1', '2')euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
int(10)UNSIGNEDNULL보기변경삭제기본인덱스고유값Fulltext
enum('1', '2', '3', '4')euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
enum('1', '2', '3')euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
enum('1', '2', '3')euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
enum('A', 'O', 'B', 'AB')euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
varchar(20)euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
enum('1', '2', '3')euckr_korean_ciNULL보기변경삭제기본인덱스고유값Fulltext
varchar(20)euckr_korean_ci아니오보기변경삭제기본인덱스고유값Fulltext


membership에서 unq가 5인 컬럼의 생일을 1993년 8월15일로 변경

update membership set birth='19930815' where unq='5';


membership에서 나이가 제일 많은 사람의 아이디와 이름, 주소를 출력

select user_id, user_name, addr1 from membership order by birth desc limit 0,1;


나이가 제일 어린 사람의 등급 출력

select (select level from memberLevInfo where user_id=a.user_id) as '나이가 제일 어린 사람의 등급' from membership a order by birth desc limit 0,1;


부산에 살고 있는 남성 출력

select *from membership where  addr1 like'%부산%' AND gender="M";


memberOther 테이블 에서 pay 컬럼 타입을 int unsigned로 변경

alter table memberOther modify pay int unsigned;


memberOtherInfo 테이블에 pay컬럼에 데이터 입력

update memberOther set pay='6000' where user_id='test1';

update memberOther set pay='7000' where user_id='test2';

update memberOther set pay='9000' where user_id='test4';

update memberOther set pay='15000' where user_id='test5';


memberOther테이블에서 아이디,pay출력(pay가 null이면 0으로 출력)

select user_id,ifnull(pay,"0") from memberOther;


memberOther테이블에서 아이디,pay출력(세자리마다 콤마찍기)

select user_id,format(pay,0) from memberOther;


혈액형 A:1, B:2 , AB:3, O:4 로 출력(if문 사용)

select  user_id,if(blood="A","1",if(blood="B","2",if(blood="AB","3","4"))) as '혈액형 별 숫자',blood from memberOther;


급여  pay<7000(하) pay<10000(중) pay>=10000(상)

select if(pay<7000,"(하)",if(pay<10000,"(중)","(상)")) as'급여별 등급', pay  from memberOther;

728x90
반응형

'개발 > sql' 카테고리의 다른 글

oracle sql  (0) 2015.09.24
oracel sql  (0) 2015.09.23
mysql as,update,desc,asc,is null,or,concat,like,이중 select  (0) 2015.08.14
tinyint ,unsigned  (0) 2015.08.13
sql create,concat,as,datediff,date_fomat,이중 select,if, 소개팅어플 db  (0) 2015.08.12

댓글