happy cat image

everdevel

Be Magical

login
알림X
  • 현재 댓글에 대한 답변만 표시합니다.
  • 표시할 댓글 이력이 없거나 로그인해 주세요.
























EEOS

에버디벨 책을 학습할 수 있는 클라우드 개발 환경을 제공합니다.
개발환경구축없이 태블릿에서도 개발할 수 있는 책의 예제와 프로젝트
오직 당신을 위한 스토리지, URL, DB, 무제한 트래픽
그리고 웹기반 개발환경을 제공합니다.

더 알아보기
에버디벨이 만든 무료 클라우드 개발환경을 소개합니다.

방문해 주셔서 감사합니다.

WHERE문에 서브쿼리 사용하기

안녕하세요.

오늘은 서브쿼리에 대해서 알아봅시다.

서브쿼리라 하니 뭔가 싶죠?

우리가 사용하는 쿼리문안에 또 다른 쿼리문 사용하는것을 의미합니다.

그럼 my_smart_devices테이블을 예로 들어볼게요.

my_smart_devices테이블은 smart 데이터베이스 안에 있습니다.

그러므로 아래 명령문을 입력해서 smart 데이터베이스를 선택해 주시고,

USE smart;
where-sub-query

다음의 쿼리문을 사용해 my_smart_devices에 있는 데이터를 모두 확인 해 봅니다.

SELECT * FROM my_smart_devices;
where-sub-query

자, 그럼 여기에서 thenumberofcpu 필드의 값이 가장 작은 값의 레코드를 뽑아봅시다.

다음의 쿼리문 사용하지 말구요.

SELECT * FROM my_smart_devices ORDER BY thenumberofcpu ASC LIMIT 1;

위의 쿼리문들을 사용하는게 가장 효율적이지만 서브쿼리를 사용하는 방법에 대해 확인하는거니 비효율적으로 아래와 같은 설명을 진행합니다. ^-^*

다음의 쿼리문에 ???를 채워보세요.

SELECT * FROM my_smart_devices WHERE thenumberofcpu = ????

WHERE문은 thenumberofcpu가 똑같은걸 말하고 있습니다.

그럼 ????는 가장 작은 thenumberofcpu필드의 값이어야 합니다.

????에 서브쿼리문을 넣어서 해결 할 수 있습니다.

해봅시다.

SELECT MIN(thenumberofcpu) FROM my_smart_devices;

위의 쿼리문의 결과는 다음과 같습니다.

where-sub-query

WHERE thenumberofcpu = ????의 ????에 위의 쿼리문을 작성하면 됩니다.

그럼 조건문에서 thenumberofcpu = 1인 값을 찾는것이 됩니다.

해볼까요?

SELECT * FROM my_smart_devices WHERE thenumberofcpu = (SELECT MIN(thenumberofcpu) FROM my_smart_devices);

비효율적인 방법이지만 서브쿼리를 알아보기 위해 위와 같이 작성함을 감안해 주세요. ^^

그럼 결과를 봅시다.

where-sub-query

네 이렇게 서브쿼리를 사용해 봤습니다. ^-^*

WHERE문에 서브쿼리를 적용해봤는데요. 다음에는 field 영역에 서브쿼리를 사용해 봅시다. ^-^*

현재까지의 db 백업 (아래는 현재까지의 작업을 백업한거라서 중도에 들어오신분들을 위한거에요.)

david_db smart study_db

봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다.
당신의 작은 누름이 저에게는 큰 희망이 됩니다.


    
    

강좌로 돌아가기

댓글 0개

정렬기준