복붙노트

[SQL] 어떻게 별칭 오라클의 테이블에 '로'키워드를 사용 하는가?

SQL

어떻게 별칭 오라클의 테이블에 '로'키워드를 사용 하는가?

나는 오라클 SQL Developer에서이 쿼리를 실행하기 위해 노력하고있어 :

SELECT G.Guest_ID, G.First_Name, G.Last_Name
FROM Guest AS G
  JOIN Stay AS S ON G.Guest_ID = S.Guest_ID
WHERE G.City = 'Miami' AND S.Room = '222';

그러나, 나는 다음과 같은 오류가 발생합니다 :

ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:
Error at Line: 2 Column: 12

나는 2 호선에 문제가 표시되지 않고 오류가 매우 설명하지 않습니다. 이 키워드와 함께 할 수있는 뭔가가 될 것으로 보인다. 나는 그것을 제거하면, 그것을 잘 작동합니다. 그러나, 나는 내 쿼리가 매우 자세한되고 싶어요. 따라서, 나는 문제가 키워드로를 제거하지 않고 무엇이든 수정하는 방법을 파악해야합니다.

이 포함 된 테이블의 구조입니다 :

CREATE TABLE GUEST
(
  GUEST_ID       NUMBER               NOT NULL,
  LAST_NAME      VARCHAR2(50 BYTE),
  FIRST_NAME     VARCHAR2(50 BYTE),
  CITY           VARCHAR2(50 BYTE),
  LOYALTY_NUMBER VARCHAR2(10 BYTE)    
);

CREATE TABLE STAY
(
  STAY_ID        NUMBER                         NOT NULL,
  GUEST_ID       NUMBER                         NOT NULL,
  HOTEL_ID       NUMBER                         NOT NULL,
  START_DATE     DATE,
  NUMBER_DAYS    NUMBER, 
  ROOM           VARCHAR2(10 BYTE)
);

사전에 어떤 도움을 주셔서 감사합니다.

해결법

  1. ==============================

    1.당신은 (적어도 MSSQL는, MySQL은, PostgreSQL을)하지만 항상 선택이고 오라클에 불법의 많은 SQL 서버에서 테이블 별명에 대한 AS를 사용할 수 있습니다.

    당신은 (적어도 MSSQL는, MySQL은, PostgreSQL을)하지만 항상 선택이고 오라클에 불법의 많은 SQL 서버에서 테이블 별명에 대한 AS를 사용할 수 있습니다.

    그래서 AS를 제거합니다 :

    SELECT G.Guest_ID, G.First_Name, G.Last_Name
    FROM Guest G
    
  2. ==============================

    2.는 AS 오라클 테이블 별칭 생략.

    는 AS 오라클 테이블 별칭 생략.

    SELECT G.Guest_ID, G.First_Name, G.Last_Name
    FROM Guest G
      JOIN Stay S ON G.Guest_ID = S.Guest_ID
    WHERE G.City = 'Miami' AND S.Room = '222';
    

    이 오류없이 당신에게 출력을 제공 할 것입니다.

  3. from https://stackoverflow.com/questions/21145028/how-to-use-the-as-keyword-to-alias-a-table-in-oracle by cc-by-sa and MIT license