어제 동료가 나에게 다음과 같은 포스트그레스 쿼리를 보였다.SELECT * 대 SELECT *
내가 최근에 또 다른 언어에 대한 파서를 코딩 때문에SELECT* FROM mytable;
, 나는 더 깊이 이해하려고 노력하는 이유 쿼리 "컴파일"을 SELECT * FROM mytable;
과 같은 결과를 반환하고 우리는이 일 것을 모두 놀랐다. 아마도이 때문에 어휘 분석하는 동안 유효한 쿼리로 인식되고
, 포스트 그레스는 토큰으로 입력에서 SELECT
읽은 다음이 *
로 발견 다음 토큰, 검색 등 - 그게 더 많거나 적은 것 여기 가니?
또한 postgres lexer/parser는이 쿼리를 이해하기에 충분히 강하거나 다른 데이터베이스가 비슷한 SELECT*
쿼리를 이해합니까?
작품. – Jacob
APEX과 관련이 있는지 확실하지 않습니다. –
간격에 관계없이 DB가 "SELECT *"를 허용한다는 사실에 혼란 스럽습니까, 간격에 관계없이 "SELEcT *"가 허용되는지 궁금하십니까? 후자는 일반적으로 프로그래밍 언어의 표준입니다. 공백은 일반적으로 선택 사항입니다. 나는 "SELECT *"가 데이터베이스 벤더들 사이에 얼마나 흔한 지 모르지만, 분명히 밝혀졌습니다. –