Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- stringbuilder의 reverse()
- 스프링뼈대
- GithubActions
- while과 two-pointer
- string
- string과 stringbuilder
- 스프링환경설정
- sql 데이터형 변환
- 베주계수
- 프로그래머스 레벨1
- 동일성과 동등성
- Git사용법
- ineer join
- 스프링
- 유클리드호제법
- 자바 최소공배수
- cicd
- StringBuilder
- 최소공배수
- toLowerCase()
- 모던자바
- git 컨벤션
- islowercase()
- 래퍼타입
- 자바 유클리드
- Github Actions
- isuppercase()
- 자바 스트링
- addDoc
- 최대공약수
Archives
- Today
- Total
주노 님의 블로그
20240704 사전캠프 4일차 TIL 본문
사전캠프 4일차 내용 간단요약
- 14:00 ~ 14:10 : 어제 TIL 복습
- 14:10 ~ 15:00 : SQL 문제풀이 (1 ~ 17)
NULL값 처리방법 (COALESCE, IFNULL, CASE) - 15:00 ~ 15:10 : 팀원 회의
- 15:20 ~ 16:10 : 데일리 과제
데일리 1주차 금요일 : 웹 동작 방식
SQL문제풀이 - NULL값 처리방법 (COALESCE, IFNULL, CASE)
더보기
입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.
입양 게시판에 동물 정보를 게시하려 합니다. 동물의 생물 종, 이름, 성별 및 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 프로그래밍을 모르는 사람들은 NULL이라는 기호를 모르기 때문에, 이름이 없는 동물의 이름은 "No name"으로 표시해 주세요.
SQL을 제대로 배운적이 없어서 SELECT에서 NULL값을 처리하는 법을 모르고 있었다
방법에는 세가지가 있다고 한다.
1. COALESCE
- COALESCE(NAME, 'No name') AS NAME
- 첫번째로 'NULL'이 아닌값을 반환한다
하지만 NULL값을 다른값으로 변환할때도 사용한다 아래와 같이 생각하면 된다
COALESC(NULL이 아닐때 반환할 값, NULL일때 반환할 값)
2. IFNULL
- IFNULL(NAME, 'No name')
첫번째 인수가 NULL이면 두번째 인수를 반환한다
즉 NAME = NULL이면 'No name을 반환한다.
3. CASE
- CASE
WHEN NAME IS NULL THEN 'No name'
ELSE NAME
END AS NAME
그외 사용한 절 정리
내림차순 오름차순은 항상 헷갈림 ㅠ
- ORDER BY : 정렬하기
ASC : 오름차순 작은거부터, 없으면 오름차순
DESC : 내림차순 큰거부터
예시
SELECT ANIMAL_ID
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
ORDER BY ANIMAL_ID - GROUP BY ~ HAVING
GROUP BY : 컬럼 기준으로 동일한 값을 묶는다
HAVING : GROUP BY 절의 조건문 WHERE라고 생각하면 편함
예시
SELECT NAME, COUNT(NAME) AS 'COUNT'
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME ASC; - DISTINCT
중복을 제거함
예시
SELECT COUNT (DISTINCT NAME)
FROM ANIMAL_INS - COUNT
수를 셈
예시
SELECT COUNT (ANIMAL_ID)
FROM ANIMAL_INS - LIMIT
제한을 둠
예시
SELECT NAME
FROM ANIMAL_INS
ORDER BY DATETIME ASC
LIMIT 1 - IS NULL(IS NOT NULL)
NULL값을 찾거나, NULL이 아닌 값을 찾음
예시
SELECT COUNT(USER_ID)
FROM USER_INFO
WHERE AGE IS NULL - MAX
최대값을 찾음
예시
SELECT MAX(PRICE)
FROM PRODUCT
팀원회의
더보기
금요일 데일리 과제를 위해서 팀원끼리 회의를 하였다.
금요일 데일리 과제 주제는 "개발 아티클 스터디"
- 개인당 1개의 아티클을 선택한다 VS 팀이 1개의 아티클을 선택한다
- 아티클 선정 : [해치지 않는 웹] 1. 웹 동작 방식
- 각자 TIL에 정리한 글을 바탕으로 팀원이 피드백을 해준다
- 7월 5일 금요일 16시전까지 작성을 완료한다.
데일리 1주차 금요일 과제 - 웹 동작 방식
더보기
1. 웹 클라이언트와 웹 서버
- 웹 클라이언트
사용자가 웹에 접근하고, 상호작용하는 프로그램이다.
예를들어 크롬, 웨일, 엣지 등이 있다. - 웹 서버
웹 페이지, 사이트 또는 앱에서 클라이언트 요청을 받아 해당 요청에따라 적절한 응답을 하거나, 데이터를 저장하는 프로그램이다.
예를들어 아파치 웹 서버, GWS, IIS등이 있다 - 과정
클라이언트 : 사용자는 웨일에 접속해 주소창에 링크를 적고 엔터를 누른다
서버 : 클라이언트에서 요청한 HTTP메세지를 확인 한 후, 데이터를 처리한후 응답한다.
2. WAS(Web Application Server)
- 웹 서버 혼자 모든 로직을 처리하면 부하가 일어난다, 그래서 WAS라는 중간 처리기를 두어 서버의 부담을 줄인다
예를들어 아파치 톰캣, 레진, 제이런 등이 있다 - 클라이언트가 메세지를 보낸다 > WAS에 처리를 요청한다 > WAS는 DB와 연동하여 데이터를 처리한다 > 생성한 파일을 다시 서버로 전송한다
위 과정으로 웹 서버는 부담을 줄일 수 있다.
3. DB(Data Base)
- 데이터를 저장하는 곳이다.
- 클라이언트가 메세지를 보낸다 > WAS는 DB에 데이터를 SQL질의를 통해 요청한다 > SQL질의에 맞는 결과값을 WAS로 전송한다.
4. 정리
- WAS에 대한 내용을 이제 접하여 다시 정리해본다
웹 서버 : 정적 콘텐츠 제공 및 HTTP 요청
WAS : 동적 콘텐츠 제공 및 데이터베이스 연동 등
으로 역할을 분리한다 - WAS와 웹 서버를 같이 사용하는 이유
성능 최적화 : 웹서버(정적 콘텐츠), WAS(동적 컨텐츠 및 데이터베이스)를 적절히 사용하며 성능을 최적화 할 수 있다.
확장성 : 웹 서버와 WAS를 사용하면 각각의 요소를 독립적으로 확장이 가능함
보안 : 웹 서버를 통해 WAS접근을 제어하므로 보안에도 유리
잘 정리된 내용이 있어서 같이 링크를 첨부해본다
'TIL' 카테고리의 다른 글
20240708 사전캠프 6일차 TIL (0) | 2024.07.08 |
---|---|
20240705 사전캠프 5일차 TIL (0) | 2024.07.05 |
20240703 사전캠프 3일차 TIL (0) | 2024.07.03 |
20240702 사전캠프 2일차 TIL (0) | 2024.07.02 |
20240701 사전캠프 1일차 TIL (데일리 1일차, 강의) (0) | 2024.07.01 |