é?¸æŠžå¼?ã?®SELECT-FROM-WHEREã?‹ã‚‰ã?ªã‚‹è¨˜è¿°ã?«åŸºã?¥ã?„ã?¦ã€?å°„å½±ã?¨çµžè¾¼ã?¿ã?«ã‚ˆã‚Šè¡¨ç¾¤ã?‹ã‚‰æ–°ã?Ÿã?«è¡¨ã?®å€¤ã‚’å¾—ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚
SELECT [ DISTINCT | ALL ] é?¸æŠžé …ç›® [ , é?¸æŠžé …ç›®]* FROM 節 [ WHERE 節 ] [ GROUP BY 節 ] [ HAVING 節 ]
é?¸æŠžé …ç›®:
{ * | { 表å?? | 相関å?? } .* | å¼? [AS å?˜ç´”列å?? ] }
SELECT節ã?«ã?¯ã€?å¼?ã?®ä¸€è¦§ã?Šã‚ˆã?³FROM節ã?¨WHERE節ã?®çµ?æžœã?«é?©ç”¨ã?•れる数é‡?詞ã?Œã?‚りã?¾ã?™ã€‚ DISTINCTã?ŒæŒ‡å®šã?•れã?Ÿå ´å?ˆã€?é‡?複ã?¯å?–り除ã?‹ã‚Œå?Œã?˜å€¤ã‚’æŒ?ã?¤è¡Œã?¯ä¸€ã?¤ã?—ã?‹ã?‚りã?¾ã?›ã‚“。ã?“ã?“ã?§NULL値å?Œå£«ã?¯å?Œã?˜å€¤ã?¨æ‰±ã‚?れã?¾ã?™ã€‚ã‚‚ã?—æ•°é‡?詞ã?Œã?ªã?„ã?‹ALLã?ªã‚‰ã€?çµ?æžœã?«ã?¦è¡Œã?®å€¤ã?Œé‡?複ã?—ã?¦ã‚‚å?–り除ã?‹ã‚Œã?¾ã?›ã‚“。(既定ã?¯ALLã?ªã?®ã?§ã?™ã€‚)
é?¸æŠžé …ç›®ã?«ã‚ˆã‚Šä¸€ã?¤ä»¥ä¸Šã?®çµ?æžœã?®åˆ—ã?Œã€?検索å¼?ã?§å¾—られるçµ?æžœã?®è¡¨ã?«å°„å½±ã?•れã?¾ã?™ã€‚
FROM節ã?®è¨˜è¿°ã?«ã‚ˆã‚Šã€?節ã?«æ›¸ã?‹ã‚Œã?Ÿé …ç›®ã?®ç›´ç©?ã?Œçµ?æžœã?¨ã?—ã?¦ç”Ÿæˆ?ã?•れã?¾ã?™ã€‚ã?•らã?«WHERE節ã?«ã‚ˆã‚Šã€?ã??ã?®çµ?æžœã?¯é™?定ã?•れã?¾ã?™ã€‚
WHERE節ã?§ã?¯çœŸå?½å¼?ã?«å¾“ã?„ã€?行ã?Œçµžã‚Šè¾¼ã?¾ã‚Œã?¾ã?™ã€‚å¼?ã?ŒçœŸã?¨è©•価ã?•れã?Ÿè¡Œã? ã?‘ã?Œçµ?æžœã?¨ã?—ã?¦è¿”ã?•れã?¾ã?™ã€‚
GROUP BY節ã?«ã‚ˆã‚Šã€?一ã?¤ã?‚ã‚‹ã?„ã?¯ã??れ以上ã?®åˆ—ã?®é–“ã?§å?Œã?˜å€¤ã‚’æŒ?ã?¤è¡Œã?Œåˆ†é¡žã?•れã?¾ã?¨ã‚?られã?¾ã?™ã€‚GROUP BY節ã?¯å¤šã??ã?®å ´å?ˆã€?集約ã?Œä½µã?›ã?¦ä½¿ã‚?れã?¾ã?™ã€‚
-- å“¡æ•°ã€?部署番å?·(WORKDEPT)ã€?部ã?®å¹³å?‡è³ƒé‡‘(SALARY)ã€? -- ã‚’EMPLOYEEã?¨ã?„ã?†è¡¨ã?«ã?‚ã‚‹å…¨ã?¦ã?®éƒ¨ç½²æ¯Žã?«ä¸€è¦§ã?™ã‚‹ã€‚ -- çµ?æžœã?¯éƒ¨ã?®å¹³å?‡è³ƒé‡‘ã?”ã?¨ã?«æ˜‡é †ã?§ä¸¦ã?¹ã‚‰ã‚Œã‚‹ã€‚ SELECT WORKDEPT, AVG(SALARY) FROM EMPLOYEE GROUP BY WORKDEPT ORDER BY 1
GROUP BY節ã?Œã?ªã?„ã?«ã‚‚ã?‹ã?‹ã‚?らã?šã€?é?¸æŠžé …ç›®ã?«å‰¯å•?ã?„å?ˆã‚?ã?›ã?«ã?¯ã?ªã?„集約ã?Œã?‚ã‚‹å ´å?ˆã€?å•?å?ˆã?›ã?¯æš—é»™ã?«åˆ†é¡žã?•れã?¾ã?™ã€‚ã??ã?®ã?¨ã??表全体ã?Œä¸€ã?¤ã?«åˆ†é¡žã?•れã?¾ã?™ã€‚
HAVING節ã?«æ›¸ã?‹ã‚Œã?Ÿ(WHERE節ã?¨å?Œæ§˜ã?®)検索æ?¡ä»¶ã‚ˆã‚Šã€?分類ã?•れã?Ÿè¡¨ã?Œçµžã‚Šè¾¼ã?¾ã‚Œã?¾ã?™ã€‚ã?“ã?®æ¤œç´¢æ?¡ä»¶ã?¯åˆ†é¡žåˆ—ã?‚ã‚‹ã?„ã?¯å?¯è¦–ã?§ã?‚る集約ã?®ã?¿å?‚ç…§ã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚HAVING節ã?¯è¡¨ã?‹ã‚‰åˆ†é¡žã?•れã?Ÿå¾Œã?®æƒ…å ±ã?«é?©ç”¨ã?•れã?¾ã?™ã€‚HAVING節ã?Œè©•価ã?•れã?¦çœŸã?§ã?‚ã?£ã?Ÿå ´å?ˆã€?ã??ã?®è¡Œã?¯æ®‹ã?£ã?¦ä»¥é™?ã?®å‡¦ç?†ã?Œè¡Œã‚?れã?¾ã?™ã€‚一方ã?§HAVING節ã?Œè©•価ã?•れã?¦å?½ã?‚ã‚‹ã?„ã?¯NULLã?§ã?‚ã?£ã?Ÿå ´å?ˆã€?ã??ã?®è¡Œã?¯ç ´æ£„ã?•れã?¾ã?™ã€‚ã‚‚ã?—HAVING節ã?Œã?‚ã‚‹ã?«ã‚‚ã?‹ã?‹ã‚?らã?šã€?GROUP BY節ã?Œã?ªã?„å ´å?ˆã€?æš—é»™ã?«è¡¨å…¨ä½“ã?Œä¸€ã?¤ã?«åˆ†é¡žã?•れã?¾ã?™ã€‚
�択���果�常�表��。
VALUES CURRENT_TIMESTAMP
VALUESå¼?ã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。
*�よりFROM節��る表�全列�展開�れ��。
表å??.* ã‚„ 相関å??.* ã?«ã‚ˆã‚Šã€?ã??ã?®è¡¨ã?®å…¨åˆ—ã?Œå±•é–‹ã?•れã?¾ã?™ã€‚ã??ã?®è¡¨ã?¯FROM節ã?«ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。
AS節を使ã?£ã?¦é?¸æŠžé …ç›®ã?®åˆ—ã?«å??å‰?ã‚’ã?¤ã?‘る事ã?Œã?§ã??ã?¾ã?™ã€‚ã‚‚ã?—é?¸æŠžé …ç›®ã?Œå?˜ã?ªã‚‹åˆ—å?‚ç…§ã?§ã?¯ã?ªã?„ã?‹ã?‚ã‚‹ã?„ã?¯ã€?AS節ã?§å??å‰?ã?Œã?¤ã?‘られã?¦ã?„ã?ªã?„å ´å?ˆã€?自動生æˆ?ã?•れã?Ÿå??å‰?ã?Œä¸Žã?ˆã‚‰ã‚Œã?¾ã?™ã€‚
-- ã?“ã?®ä¾‹ã?¯ORDER BY節ã€?表ã?¸ã?®ç›¸é–¢å??ã€? -- SELECT-FROM-WHEREを示ã?—ã?¾ã?™ã€‚ SELECT CONSTRAINTNAME, COLUMNNAME FROM SYS.SYSTABLES t, SYS.SYSCOLUMNS col, SYS.SYSCONSTRAINTS cons, SYS.SYSCHECKS checks WHERE t.TABLENAME = 'FLIGHTS' AND t.TABLEID = col. REFERENCEID AND t.TABLEID = cons.TABLEID AND cons.CONSTRAINTID = checks.CONSTRAINTID ORDER BY CONSTRAINTNAME -- ã?“ã?®ä¾‹ã?¯DISTINCT節ã?®ä½¿ã?„方を示ã?—ã?¾ã?™ã€‚ SELECT DISTINCT ACTNO FROM EMP_ACT -- ã?“ã?®ä¾‹ã?¯å¼?ã?«å??å‰?を与ã?ˆã‚‹æ–¹æ³•を示ã?—ã?¾ã?™ã€‚ -- EMPLOYEEã?¨ã?„ã?†è¡¨ã?‹ã‚‰ã€?最も高ã?„給料ã?Œä»–ã?®å…¨éƒ¨ç½²ã?®çµ¦æ–™ã?®å¹³å?‡ã‚ˆã‚Šå®‰ã?„部署ã?®ã€? -- 部署番å?·(WORKDEPT)ã€?BOSSã?¨ã?„ã?†å??å‰?を与ã?ˆã?Ÿéƒ¨ç½²ã?®æœ€ã‚‚高ã?„給料(SALARY)ã‚’ -- 一覧ã?—ã?¾ã?™ã€‚ SELECT WORKDEPT AS DPT, MAX(SALARY) AS BOSS FROM EMPLOYEE EMP_COR GROUP BY WORKDEPT HAVING MAX(SALARY) < (SELECT AVG(SALARY) FROM EMPLOYEE WHERE NOT WORKDEPT = EMP_COR.WORKDEPT) ORDER BY BOSS