지금은마라톤중

멋사 AI스쿨_SQL_TIL (2) 본문

멋쟁이사자처럼/SQL

멋사 AI스쿨_SQL_TIL (2)

달리는중 2023. 1. 20. 17:48

2023.01.20

일주일만에 SQL 2번째 시간이 돌아왔다.

미니 프로젝트를 진행하면서 파이썬이 친숙해지고 점점 더 몰입하고 있는 것 같다.

아직은 코드가 간결하지는 않다.

그래도 한 마디로 재밌다!!!

멋사 AI스쿨이 끝나기 전까지 몰입해서 무언가 되어있고 싶다.


● like 연산자 : 

- 문자열만 취급한다.

- 날짜 데이터를 사용할 때는 string(columns)을 해주어 문자열로 바꿔 사용하면 해결 가능!

 

 

🙋🏻‍♂️질문 : string() ,Int() 처럼 형변환이 가능한데 CAST랑 무슨차이가 있는지 궁금합니다. CAST가 존재하는 이유요!
- string() ,Int()  : 자체적으로 형변환 
- cast : 파라미터값로 받아서 최종형도 파리미터로 받아서 형변환

STRING과 CAST의 차이점을 공부해본 결과, (정확하지 않으니 참고만 부탁드립니다!) 

우선 STRING()은 빅쿼리에서 제공하는 함수입니다.

mysql, mariaDB에서는 제공하지 않습니다. 

따라서 mysql 기반의 DB에서 데이터를 string형으로 변환하려면, CAST(), CONVERT()를 사용해야 합니다. (DB마다 제공하는 함수가 다를 수 있습니다!) 

또한 STRING()은 날짜(DATETIME) 형의 데이터를 문자열로 바꿔주는 함수라고 합니다. 

일반 문자열(ex-'123')을 int로 바꿀 수 없습니다. (신텍스(문법) 에러가 발생합니다.) 

따라서 이 경우에도, CAST()를 사용해야 할 것 같습니다. 

빅쿼리에서 CONVERT()를 제공하지 않는 것으로 보입니다.(실험 더 필요.)

 

  COUNT()와 COUNT(컬럼명) 차이

- COUNT() : NULL값 포함 O

- COUNT(컬럼명) : NULL값 포함 X \

* sqld 시험에도 꼭 나오는 부분

 

# 프로그래머스 문제
# count(컬럼명)으로 널값 제외를 하지만 그래도 where문으로 한번 더 인지 시켜주는게 더 좋은 거 같다.
SELECT count(distinct NAME)
from ANIMAL_INS
where name is not Null;

 

  having 

- 원천 데이터가 아닌 그룹화된 데이터에 조건을 부여

- 그룹화된 데이터에 조건을 부여하므로 GROUP BY와 함께 사용

 

 

 order by 

- 부여한 조건으로 정렬시킴

- 뒤에 정렬순서를 정할 수 있음, asc : 오름차순, desc : 내림차순

 

꿀팁❗️ SQL 코드 작성시 생각하는 순서

1) select
2) from
3) where
4) group by
5) having
6) order by
7) limit

 

● NULL

- SQL에서 데이터베이스 내의 데이터 값이 존재하지 않는다는 것을 지시하는데 사용되는 특별한 표시어(special marker)

- 모든 데이터 유형은 널 값을 포함할 수 있다

 

● SQL 문자열 슬라이싱

- 문자의 슬라이싱할 때 left(컬럼, 갯수) or right(컬럼, 갯수) 

- left(컬럼, 갯수) : 컬럼을 왼쪽부터 갯수만큼 가져온다. 

- right(컬럼, 갯수) : 컬럼을 오른쪽부터 갯수만큼 가져온다.

 

🙋🏻‍♂️질문 : SQL은 코드를 위에서부터 한 줄씩 읽는 것이 아니라 한번에 읽어서 위에서 지정한 변수를 아래에서 사용 못하는 것 아니였나요?
: SELECT, FROM ,WHERE 를 거치면 하나의 데이터 모임이 생기는데, 이 만들어진 모임에서 가져다 쓰는 것은 가능합니다!
GROUP BY 나 ORDER BY 같은 경우 입니다!
WHERE 절은 데이터 모임이 안만들어진 상태여서, WHERE 절에서 사용하는 것은 불가능합니다!
WHERE 절에서 쓰려면 FROM 절에서 미리 불러오는 방법이 있긴 합니다!
꿀팁❗️

빅쿼리에서 ctrl + shift + f 
- 자동으로 이쁘게 줄바꿈도 해주고 들여쓰기도 해줌 
- 대소문자 변환도 자동으로 해줌.
- 문자열은 대소문자 변환 x

 

 

 

 

'멋쟁이사자처럼 > SQL' 카테고리의 다른 글

멋사 AI스쿨_SQL_TIL (6)  (0) 2023.02.07
멋사 AI스쿨_SQL_TIL (5)  (0) 2023.02.02
멋사 AI스쿨_SQL_TIL (4)  (0) 2023.02.02
멋사 AI스쿨_SQL_TIL (3)  (0) 2023.01.25
멋사 AI스쿨_SQL_TIL (1)  (4) 2023.01.13
Comments