본문 바로가기

아옳옳의 코딩공부/아옳이의 데이터베이스 MySQL

2021-05-24 MySQL 데이터베이스 데이터 검색

반응형

지금까지 배웠던 것들과는 다르게 프로그램에 있어서 정말 필수 적인 데이터 베이스를 드디어 배우게 되었다. 

 

정말 많은 DBMS가 있지만 . 나는 MySQL프로그램을 사용하여 볼것이다. 

 

SQl 문으로 직접 사용해보기

 

전부다 불러 오기 (SELECT 열이름 FROM 테이블 이름) 

이렇게 테이블 형식으로 불러올수 있다. 여기서 추가해서 조건문을 넣어 줄수가 있다. 

 

WHERE을 추가하고 뒤에 특정한 조건을 넣어주면 조건에 만족하는 데이터만 추출할수 있다. 

모든것을 출력하기위하여 *로 하였고 where절에 prodName이 운동화 인것만 출력하도록 해보았다. 

그 결과 이렇게 출력이 된다. 

 

조건 연산자와 관계 연산자. 

해석 )1. 회원 테이블에서 1970년 이후에 출생했고 키가 182cm 이상인 살마의 아이디와 이름을 조회 

        2. 1970년 이후에 출생했거나 182cm 이상인 사람의 아이디와 이름 조회

1번 
2번

 

BETWEEN ... AND, IN() , LIKE 연산자

@ 1 회원 테이블에서 키가 180~ 182인 사람 조회

@ 2 위 쿼리문을 BETWEEN...AND 연산자를 사용 (1과 2가 같음) 

@3 지역이 경남 또는 충남 또는 경북인 사람은 OR 연산자를 사용하여 조회

@4 위 처럼 값을 조회할떄 IN( ) 연산자를 사용 (3과 4가 같음) 

@5 성이 김 씨인 회원의 이름과 키 조회 

@6 맨 앞의 한 글자가 무엇이든 상관없고 그다임이 '경규' 인 사람 조회 

여기서 5 번과 6번에 % 와 _ 가 보이는데 두가지의 차이가 있다.

%는 개수의 제한이 없고  ( 앞이 김 이라고 시작하면 다 가져온다 ) 

_는 딱 한문자만 을 기준으로 한다. ( 앞에 딱 한글자만 제외하고 나머지를 가져온다 ) 

위 예시를 보면 알수 있다. 

ANY , ALL , SOME 연산자

@ 김용만 보다 키가 크거나 같은 사람의 이름과 키 출력

이런식으로 출력도 가능하지만 여기서 중요하게 알아야 할 부분이 있다. 다음 문제를 보자 

 

@ 지역이 경기인 사람보다 키가 크거나 같은 사람추출 

오류가 뜨면서 출력이 안된걸 볼수 있는데 . 비교의 대상이 여러개라서 이렇게 오류가 뜬것이다. 

전체를 출력해보면 

경기인 사람이 2명이 있고 비교를 해야할 값도 2개이기 때문에 어떤것을 비교로 가져와야할지 모르기 때문이다. 

 

이럴때 사용하는 것이 ANY , ALL 이다.  ANY ( 작은것을 기준으로 함 ) ALL ( 큰것을 기준으로 함 ) 

각각의 사용했을때 출력 화면을 보자 

any
all

any로 했을때는 기준점이 작은것 부터 기준이 되고 곳 176이 기준이 된것이고 

all로 했을때는 기준이 180이 되었기 때문에 180 이상인 사람들만 출력된것을 볼수 있다. 

마지막으로 이렇게도 사용가능하다. 

= any를 하게되면 176과 180이랑 같은것만 출력하게 되며 위처럼 출력이 된것이다. 

 

오늘은 이정도로 마무리 하고 넘어가도록 하겠다~~ 오늘도 수고했다옳~!!!

반응형