문과생의 우당탕탕 공부 기록

DVDRENTAL) EMAIL과 CUSTOMER사용, LIKE 함수로 조건문 작성하기 본문

SQL 공부/데이터 조회와 필터링

DVDRENTAL) EMAIL과 CUSTOMER사용, LIKE 함수로 조건문 작성하기

드르렁쿨쿨 2023. 1. 6. 23:52

오늘은 실습 두번째이다!

 

이 기록은 누가 보았을 때, 매우매우 쉬운 것조차 못하고, 나를 바보같다고 생각할 수도 있겠지만..

누구나 BEGINNER의 과정을 거쳤을 것이며, 나는 이 시작의 기록을 부끄럽지않게 여길 것이다.

 

바로 오늘의 실습문제 2로 바로 가보자고~

 

--고객들에게 단체 이메일을 전송하고자 한다. CUSTOMER 테이블에서 고객의 EMAIL주소를 추출하고,

--이메일 형식에 맞지 않는 이메일 주소는 제외시켜라.

--이메일 형식은 '@'가 존재해야하고, '@'로 시작하거나 끝나지 말아야한다.

 

자 해당 문제인데....

내가 처음 짠 ㅋㅋ 말도안되는 SQL을 올려보겠다..ㅋㅋ

당연히 결과에 아무것도 나오지 않았다.

 

자 이제 잘못된 점을 분석해보자!

 

<잘못된 점>

1.  실습문제1을 너무 반복해서 쓸데없이 WHERE절에 또 서브쿼리를 넣었다

2. LIKE함수의 조건을 잘못 내걸었다

3. '_@_' 부터 틀린 표현을 작성

 

전반적으로 엉만진창이다 !!!!!

 

자 피드백을 작성해보자

 

<피드백>

1.  실습문제1을 너무 반복해서 쓸데없이 WHERE절에 또 서브쿼리를 넣었다

=> 중복되는 EMAIL = (IL- FROM CUSTOMER- WHERE EMAIL...)등등 다 필요없는것

 

2. LIKE함수의 조건을 잘못 내걸었다

=> 이메일 형식에 대한 조건이 1) @존재 2) @로 시작X 3) @로 끝X 라서 조건이 3개를 걸어야함

=> LIKE 조건을 쓰되 여러개의 NOT LIKE와 LIKE로 조건을 걸어주어야함

 

3. '_@_' 부터 틀린 표현을 작성

=> @ 앞 뒤로 _ 한개의 문자열씩만 오는 거라고 내가 작성했음..

=> @이에 대한 조건으로 NOT LIKE @%, NOT LIKE %@, LIKE %@% 이렇게 걸어줘야함

 

 

다시 주어진 문장을 분석해보자면

--고객들에게 단체 이메일을 전송하고자 한다. CUSTOMER 테이블에서 고객의 EMAIL주소를 추출하고,

=> SELECT EMAIL / FROM CUSTOMER

--이메일 형식에 맞지 않는 이메일 주소는 제외시켜라.

=> WHERE EMAIL

--이메일 형식은 '@'가 존재해야하고, '@'로 시작하거나 끝나지 말아야한다.

=> NOT LIKE '@%' / AND EMAIL NOT LIKE '%@' / AND EMAIL LIKE '%@%' 

 

다시 제대로 전체적으로 작성해보면

SELECT

             EMAIL

FROM

             CUSTOMER

WHERE

             EMAIL NOT LIKE '@%'

             AND EMAIL NOT LIKE '%@'

             AND EMAIL LIKE '%@%' ; 

;

짠~

 

제대로 나온다

 

뭔가 파이썬과 굉장히 비슷하면서도, 개인적으로 무에서 유를 창조하는 느낌인 파이썬보다는 SQL이 훨씬 재미있다

아직 아기 걸음마 떼기 수준이지만!!

 

더 열심히 리뷰해보겠다.

 

Comments