오랜만 입니다

사실 이제 지피티 선생한테 물어보면 다 해결되는데요

그래도 써볼게요

지금 Oracle 쿼리를 HANA로 다 바꿔야 하거든여

그런 김에 정리를 해보겠어요??

 

일단 오라클에서 요렇게 쓰고

       SELECT DECODE(status, 'A', 'Active', 'I', 'Inactive', 'Unknown') AS status_desc
        FROM DUAL;



샙 하나에서는 아래와 같습니다
        SELECT
             CASE status
               WHEN 'A' THEN 'Active'
               WHEN 'I' THEN 'Inactive'
               ELSE 'Unknown'
             END AS status_desc
        FROM DUMMY;

 

의미는 같습니다.

 

: status가 'A'이면 'Active', 'I'이면 'Inactive', 그 외는 'Unknown'.

'Development > SQL' 카테고리의 다른 글

[Oracle] 쿼리문에서 (+)가 뭐죠?  (0) 2023.05.04

하나의 테이블 혹은 두개의 테이블을 가지고

특정 조건으로 비교해본 뒤

- 조건에 맞으면 UPDATE/ UPDATE 후에 DELETE

- 조건에 맞지 않으면 INSERT 수행

 

MERGE INTO STDNT A
USING DUAL
ON A.NAME = '하맨디'
WHEN MATCHED THEN
    UPDATE SET A.AGE = 100 WHERE A.NAME = '하맨디'
    DELETE WHERE A.NAME = '하맨디'
WHEN NOT MATCHED THEN
	INSERT (NAME, AGE) VALUES ('하맨디', 100);

 

MERGE INTO 사용할 테이블
USING 비교할 테이블(단일 테이블인 경우 DUAL)
ON (비교조건)   >> 비교한 컬럼명은 UPDATE 불가능
    WHEN MATCHED THEN
           UPDATE SET  WHERE 조건
           DELETE WHERE 조건   >> 생략가능
    WHEN NOT MATCHED THEN
           INSERT (컬럼들) VALUES (값들);

 

OUTER JOIN 입니다.

해당 조인은 조인 조건을 만족하지 않는 행까지 함께 출력할 수 있습니다.

 

1. LEFT OUTER JOIN

2. RIGHT OUTER JOIN

3. FULL OUTER JOIN

으로 나눌 수 있으나, 오늘은 '(+)' 이해만 하고 넘어가겠습니다.

 

예를 들어 

SELECT *
FROM STUDENT A, GRADE B
WHERE A.ID = B.ID (+)

 

'WHERE A.ID = B.ID (+) ' 라는 구문에서

OUTER JOIN의 기준이 되는 테이블은 A 테이블입니다.

 

따라서,

A 테이블은 모든 데이터가 출력되고

B 테이블은 조인 조건을 만족하는 경우만 출력됩니다.

*만족하지 않는 경우엔 NULL으로 출력됩니다.

'Development > SQL' 카테고리의 다른 글

[HANA] DECODE 대신 CASE WHEN을 써요  (5) 2025.06.13

이상한거 떴음

디버깅 모드에서 빌드하면 이런 경고가 뜬다.

디버깅 모드 해제 후 재실행하면 안떠요~

(해제 방법: 이클립스 상단에 빨간네모 클릭)

 

1. Continue :  무시하고 진행

2. Terminate :  JVM 종료

3. Restart :  재시작

자바 프로젝트 빌드 오류

 

해당 Project 우클릭 > Properties > Java Build Path > Libraries 탭

 

JRE System Library 선택 후 remove

 

Add Library 클릭 JRE System Library 추가

 

하면 빌드 성공한다는데

 

 

 

이상한거 떴음

 

찾아보니 경고하는거래 ㅋㅎㅋㅎㅋ

뭐 뭐 임마

이게 뭔지는 다음 글에 ...

인터넷 - (웹서버 - 어플리케이션서버 - 데이터베이스서버)

 

1. Web Server (프레젠테이션 계층)

사용자(클라이언트)가 보는 인터페이스, 웹화면, GUI 제공해주는 서버

사용자 요청을 받아서 화면에 표시

사용자가 직접 마주하게 되는 계층

프론트엔드

 

2. Application Server (어플리케이션 계층)

웹서버에서 보내진 데이터들이 처리

뭘할지 판단해서 필요한 경우 데이터 계층에 질의

비즈니스로직 계층, 트랜잭션 계층

첫번째 계층에서는 이 계층을 서버처럼 동작하고(응답)

세번째 계층이 보기엔 마치 클라이언트 처럼 행동(요청)

 

3. Database Server (데이터 계층)

데이터베이스에 접근하여 데이터 읽거나 쓰는 것을 관리

데이터 입출력 담당

서블릿(Servlet)

- 서블릿은 동적으로 반응하는 페이지를 위해 만들어진 것

- 자바 클래스의 일종

- 동적인 결과(동적 웹페이지)를 만들어 주는 자바 웹 프로그래밍 기술

 

 

서버가

- WEB 서버

사용자 요청에 따라 정적인 페이지 제공

- WAS 서버

연산결과를 웹서버로 제공하고 웹서버 정적 페이지를 만들어 사용자에게 전달

이때 WAS에서 연산 담당하는 것 → 서블릿

 

*서블릿은 WAS 안에 있는 서블릿 컨테이너 또는 웹 컨테이너라고 불리는 공간에서 활용됨

 

 

서블릿 컨테이너

: 서블릿을 담고 관리해주는 컨테이너

- 클라이언트 요청 받으면 HttpServletRequest 와 HttpServletResponse 객체를 생성

POST, GET 여부에 따라 동적인 페이지 생성하여 응답

 

 

서블릿 컨테이너의 기능

  •  서블릿 생명주기 관리

서블릿의 탄생과 죽음을 관리

① 서블릿 클래스를 로딩하여 인스턴스화 (탄생)

② 초기화 메소드를 호출하고

③ 요청 들어오면 적절한 서블릿 메소드 호출

④ 서블릿 생명이 다하면 가비지 컬렉션 통해 메모리 제거 (죽음)

 

  •  웹서버와 통신 지원

웹서버와 소켓을 만들어 클라이언트의 요청을 받고 응답할 수 있는 서블릿과 웹서버간 통신을 지원

원래는 우리가 소켓을 만들고 listen, accept 해야하지만, 서블릿 컨테이너는 이러한 기능을 API로 제공

복잡한 과정 생략하고 서블릿에 구현해야 할 비즈니스 로직에 집중하게 도와줌

 

  •  멀티쓰레드 지원 관리

서블릿컨테이너는 요청이 들어올 때 마다 새로운 자바 쓰레드 생성

HTTP 서비스 메소드 실행 후 자동으로 죽게됨

원래는 쓰레드 관리해야하지만 서버가 다중 쓰레드를 생성 및 운영해줌

 

  •  보안관리

서블릿 컨테이너 사용하면 개발자는 보안에 관련된 내용을 서블릿 혹은 자바 클래스에 구현해놓지 않아도 됨

1. 웹 서버

웹(WEB) = World Wide Web = W3

= 온라인 상에 다양한 정보(웹페이지)가 서로 연결되어 있는 것

 

- 웹은 인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은

멀티미디어 정보를 하이퍼텍스트 방식으로 연결하여 제공함

따라서, 인터넷에 연결된 전세계 사용자들이 서로의 정보를 공유할 수 있는 장소라고도 함

 

( Hyper-Text란? 문서 내부에 또다른 문서를 연결되는 참조를 넣음으로써 웹상에 존재하는 웹페이지끼리 서로 참조할 수 있는 기술 )

 

- 웹에는 수많은 웹사이트들이 있고, 각각의 웹사이트는 웹페이지로 구성된다.

 

 

참고) 인터넷과 웹은 다름. 인터넷상의 인기 있는 하나의 서비스 = 웹

 

 

 


웹페이지(Web Page): HTML언어를 사용하여 작성된 하이퍼텍스트 문서

웹사이트(Website): 웹페이지들 중에서 서로 관련된 내용으로 작성된 웹 페이지들의 집합

웹브라우저(Web Browser): 웹을 컴퓨터로 불러와 실행하는 응용프로그램

DNS(Domain Name System Servers): 웹사이트를 위한 주소록.

 

브라우저에 웹 주소 입력 시 해당 웹사이트를 검색하기 이전에 DNS를 살펴보고 브라우저는 HTTP 메시지를 올바른 장소로 전송하기 위해 그 웹사이트가 있는 서버가 어떤 것인지 찾음


 

 

 

일반적으로 웹에 연결된 두 컴퓨터를

- 클라이언트(Client)

- 서버(Server) 로 나누어 부른다.

클라이언트는 요청하는 쪽, 서버는 그 요청에 대한 데이터를 만들어 응답하는 쪽이다.

 

 

이때, 데이터는 웹에서 처리할 수 있는 html, css, 이미지 등 정적인 데이터로 한정되어 있음

결국 요청에 따른 비즈니스 로직 처리나 DB 연동 문제를 해결하기 위해 등장한 게 WAS

 

 

 

2. WAS

Web Application Server

: 웹 어플리케이션을 실행시켜 필요한 기능을 수행하고 그 결과를 서버에게 전달하는 미들웨어

- php, jsp, asp 와 같은 언어들로 동적인 페이지를 만들어낼 수 있는 서버

- 프로그램 실행 환경과 데이터베이스 접속 기능 제공

- 비즈니스 로직 수행 가능

- 웹 서버 + 웹 컨테이너 형태

(컨테이너: jsp, servlet 실행시킬 수 있는 소프트웨어)

+ Recent posts