SQL

CUSTOMER DATA1

Bordercolli 2023. 8. 7. 15:48
728x90

SQL 문제 푸는 곳 

https://programmers.co.kr/

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

원하는 열만 끌어오는 방법 

여기서 CUSTOMER ID와 CUSTOMER NAME을 출력하고 싶다면? ▼

 

밑에 두 개의 열만 실행되는 것을 볼 수 있다. 

 

* sql은 반복숙달이 꼭 필요로 하는 언어이다.

 

DISTINCT: 중복을 제거한다. 

 

모든 테이블 중에서 country가 중복없이 출력되게 끔 하고 싶다.  ▼

이러면 21개의 국가들만 출력되는 모습을 확인할 수 있다. 

 

도시들을 중복없이 출력하고자 한다. 총 69개의 테이블이 출력됨을 볼 수 있다. ▼

모든 열을 다 출력하겠다. 그리고 고객 id순으로 다 정렬할건데 내림차순으로 정렬하고자 한다. 

이러면 고객ID가 제일 큰 91번 부터 나오는 것을 볼 수 있다.

모든 열을 다 출력하겠다. 그리고 고객ID순으로 다 정렬할건데 오름차순으로 정렬하고자 하다. ▼

CustomerName대로 정렬할 수도 있다. ▼

다섯번째 행에 5가 아닌 고객ID가 11이 출력된 모습을 확인할 수 있다. 

 

문장 줄바꿈은 상관이 없다.

소문자로 써도 sql은 작동을 한다.

 

별칭 설정

CustomerName이란 열에 을 회원이름이라고 새로 붙여서 해당 열만 출력하도록 한다. ▼

* 다만 출력된 테이블은 이 테이블 안에서만 '회원이름'이다. 이는 마치 파이썬에서 라이브러리를 가져와서 해당 라이브러리를 다른 명칭 예를 들어서 pandas 라이브러리를 가져와서 as pd라고 햇는데 pandas이름 자체가 pd로 바뀌는 것이 아니듯이 이와 같은 원리이다.  (별칭만 바뀐 것)

 

나는 이 코드가 customerid가 회원이름으로 바뀔 줄 알앗는데 customername이 회원이름으로 바뀌었다. 

그렇다면 CustomerID를 다른 별칭으로 바꾸고자 한다면????? ▼

as 대신에 엔터로도 별칭 지정이 가능하다.

산술연산

컬럼에 산술연산이 가능하다. 

고객 id가 홀수인지 짝수인지 알 수 있는 방법 ▼

 

Country, city, address를 출력할 건데,  이를 합쳐서 하나의 주소로 만들고 싶다...?

그렇게 하고 싶을 때에는 파이프라인을 사용하면 된다. ▼

공백을 넣어서 표현해보자면?▼

공백을 넣어 만든 주소들을 새로운 별칭으로 만들어서 열로 표현해보자. ▼

AND -> 논리 곱

OR -> 논리 합

NOT -> 부정

 

이런 논리연산자를 columns에서 적용시켜보자.

customerid를 가지고 and/ or 연산을 해보자.

or을 사용하면 오류가 발생한다.

IN

IN연산자를사용하여 ID가 10,20,30인 것만 출력을 하겠다. 

LIKE 

ID에 1이라는 글자가 들어가는 것을 출력을 하라. ▼

1_를 하게 되면 10번대 고객 ID를 출력할 수 있게 된다. ▼

두번째 자리 숫자가 1인 고객 ID를 출력하라.

'SQL' 카테고리의 다른 글

SQL 조건문  (0) 2023.08.09
SQL로 함수 사용하기  (0) 2023.08.09
CUSTOMER DATA2  (0) 2023.08.08
PRODUCT DATA  (0) 2023.08.07
데이터베이스와 SQL의 기초  (0) 2023.08.07