C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[8057] Re:[질문] 일정관리 프로그램을 짜고 있습니다. SQL 문법을 분석에대해 질문합니다. [ 그림 수정]
코도 [] 1711 읽음    2001-06-08 17:10
김진수 님이 쓰신 글 :
: 안녕하세요 마이맨입니다.
:
: 저는 다음과 같은 일정관리 프로그램을 짜고잇습니다. (책 예제)
:
: 그림
:
: 테이블은 다음과 같습니다.
: Year             Alpha        4
: Month            Alpha        2
: Day              Alpha        2
: Time             Alpha        2
: StartTime       Alpha        2
: EndTime          Alpha        2
: Title            Alpha        50
: MemoFile        Alpha         14
:
: SQL 문은 다음과 같습니다.
:
: SELECT Schedule."Year",Schedule."Month",Schedule."Day",count(Schedule."Day") as DayCnt
: FROM "Schedule.db" Schedule
: WHERE ((Schedule."Year" =: CurYear) AND (Schedule."Month" =: CurMonth))
: GROUP BY Schedule."Day",Schedule."Year",Schedule."Month"
: ORDER BY Schedule."Year",Schedule."Month",Schedule."Day"
:
: Params[0].Name          CurMonth
: Params[0].Data Type    String
: Params[1].Name          CurYear
: Params[1].Data Type    String
:
: 입니다.
:
: 이 SQL 구문은 월별로 등록되어 있는 일정을 일자별로 몇 건씩 있는지 알려주기 위한 용도로 사용됩니다.
:
: 제가 궁금한것입니다.
:
: 1. FROM 구문에서 Schedule 이 마지막에 왜 들어 갔는지 궁금합니다.
: 2. WHERE 구문은 어떻게 사용하는지 전혀 모르겠습니다.
: 3. GROUP BY 구문은 sum.avg 등과 같이 사용되어져야 한다고 알고 있습니다.
:    어찌혼자 사용되고 어떤 역활을 하는지 궁금합니다.
: 4. ORDER BY 구문 역시 정렬을 목적인데 어찌 desc asc 가 안붙고 혼자 사용되어질수 있는지
:    여기서 어떤 역활을 하는지 궁금합니다.
:
: 길 글 읽어 주셔서 감사합니다... 초보라...
: 많은 도움 부탁드립니다.
: 좋은 하루 되세요


SELECT Schedule."Year",Schedule."Month",Schedule."Day",count(Schedule."Day") as DayCnt
FROM "Schedule.db" Schedule
WHERE ((Schedule."Year" =: CurYear) AND (Schedule."Month" =: CurMonth))
GROUP BY Schedule."Day",Schedule."Year",Schedule."Month"
ORDER BY Schedule."Year",Schedule."Month",Schedule."Day"


1. "Schedule.db"는 테이블 실제 이름이네요.
Schedule를 콤마없이 쓴것은 이 SQL문장내에서 Schedule.db를 대치하기 위한 것 이구요.
다른 문장에서 전부 schedule라고만 쓴게 그 이유입니다.
["Schedule.db" a]라고 쓰면 schedule 대신 a."Year" a."Day"등등이 가능하죠.
의미로 Schedule as "schedule.db" 뭐 그런 의미 되겠네요.

2. where는 조건문이죠.
그러니까 테이블의 "Year"필드의 값이 변수 CurYear의 값과 같으면서
테이블의 "Month"필드의 값이 변수 CurMonth의 값과 같은 레코드들을 query하는 것입니다.

3. select문에 보면 count를 구하고 있네요... 해답이 되겠죠?

4. 생략시 기본값이 있을겁니다. 그 기본값으로 설정된것입니다. 오름차순 혹은 내림차순으로...


+ -

관련 글 리스트
8055 [질문] 일정관리 프로그램을 짜고 있습니다. SQL 문법을 분석에대해 질문합니다. [ 그림 수정] 김진수 1570 2001/06/08
8057     Re:[질문] 일정관리 프로그램을 짜고 있습니다. SQL 문법을 분석에대해 질문합니다. [ 그림 수정] 코도 1711 2001/06/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.