1.åºç« ïŒSQLãšã¯äœãïŒ
ãã®ç¯ã§ã¯ãç§ãã¡ã®æ ã®åºçºç¹ã«ç«ã€ããã«ããŸãã¯ãã£ãšãåºæ¬çãªè³ªåããææ¡ããŸããããã€ãŸããSQLãšã¯äœãããšããããšã§ããããã§ã¯ãããŒã¿ããŒã¹ãšSQLã®åºæ¬æŠå¿µã«ã€ããŠã解説ããŸãã
1.1 ããŒã¿ããŒã¹ãšSQLã®æŠèŠ
ããŒã¿ããŒã¹ãšã¯ã綺éºã«æŽçãããé¢é£ããæ å ±ãæ ŒçŽãããŠããããžã¿ã«ã®å庫ã®ãããªãã®ã§ãããæŽçãããããšããã®ã¯ãããŒã¿ããŒã¹ããã®äžã§ä¿æããæ å ±ã®ããŒã¹ïŒã€ãŸãããŒã¿ïŒããäœãããã®æå³ããçµã¿åããã§äžç·ã«ã°ã«ãŒãåã§ãããšããããšãæå³ããŸããããã«ãããã¢ããªã±ãŒã·ã§ã³ã¯å¿ èŠãªæ å ±ãç¬æã«åãåºããå©çšè ã«æäŸããããšãã§ããŸãã
ããã§ã¯ãããã§SQLã®èå°ã«ç«ã¡ãŸãããããSQLãã¯ããStructured Query Languageãã®ç¥ã§ããããæ§é åã¯ãšãªèšèªããšããæå³ã§ããããŒã¿ããŒã¹ãšå©çšè éã§æ å ±ãéåä¿¡ããããã®ããã°ã©ãã³ã°èšèªãªã®ã§ããSQLã¯ç¹ã«ãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãã®ç®¡çã«åããŠããŸãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãæ å ±ãäºãã«é¢é£ä»ãããã2次å ã®è¡šïŒã€ãŸãããŒãã«ïŒåœ¢åŒã§ä¿æããŸãã
1.2 SQLã®åœ¹å²ãšãã®éèŠæ§
ããã§ã¯ãSQLã®åœ¹å²ãšãã®éèŠæ§ã«ã€ããŠèªãåã«ããŸããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãã©ã®ããã«æ©èœããã®ããç解ããå¿ èŠããããŸããäžè¿°ããéãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã¯ãããŒã¿ãããŒãã«åœ¢åŒã§ä¿æããŸããç§ãã¡ããããã®ããŒãã«ããæ å ±ãåãåºããããæ å ±ãè¿œå ããããæ å ±ãç·šéããããæ å ±ãåé€ãããããæ¹æ³ã¯å¿ èŠã§ãããã®æ¹æ³ãããŸãã«SQLãªã®ã§ãã
SQLã®éèŠæ§ã¯ãããŒã¿é§ååã®çŸä»£ç€ŸäŒã§ããŸããŸãé«ãŸã£ãŠããŸããåçš®ã®ããžãã¹ããç§åŠçãªç 究ã瀟äŒã®ããããåŽé¢ãŸã§ãæã ã®ç€ŸäŒç掻åã¯ããŒã¿ã«å€§ããäŸåããŠããŸããã ãããããããŒã¿ããŒã¹ãšã®å¹ççãªã³ãã¥ãã±ãŒã·ã§ã³ãæ±ããããããã«SQLãéèŠãªåœ¹å²ãæããã®ã§ãã
ããã§ã¯ãæã ã®æ¥ã ã®ç掻ãé©åã«æ©èœãããããã®èåŸã®åããããSQLã§ããããšãç解ããŠããã ãããšãéèŠã§ããã€ãŸããITã®äžçã ãã§ãªããæã ã®æ¥åžžç掻ã®ããããåŽé¢ã§ãä¿¡ããããªãã»ã©å€ãã®SQLãåããŠããã®ã§ãã
2. SQLã®æŽå²
ããŒã¿åæãããŒã¿ããŒã¹ç®¡çã®äžçã§ã¯ãSQLã¯äžå¯æ¬ ãªããŒã«ãšãªã£ãŠããŸãããããããã®äŸ¿å©ãªæè¡ããã€ã©ã®ããã«çãŸããã®ã§ãããããããã§ã¯ãSQLã®æŽå²ã«ã€ããŠç°¡åã«èª¬æããŸãã
2.1 SQLã®èªç
1970幎代åé ãã¢ã¡ãªã«ã®IT巚人ã§ããIBMã«å€åããŠãããšãã¬ãŒã»Fã»ã³ãããšããç 究è ãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹çè«ãçºè¡šããŸããããã®çè«ã¯ããŒã¿ãæŽçããé¢é£ä»ããæ°ããªæ¹æ³ã瀺ããŠããã®ã§ããããã«ãããããŒã¿ãæ€çŽ¢ããããããã ãã§ãªããæ°ãã«ããŒã¿ãè¿œå ãããå€æŽãããããããšã容æã«ãªããŸããã
ãã®æå°çãªçè«ãå ã«ãIBMã®ç 究è ãã¡ã¯æ°ããªããŒã¿ããŒã¹ç®¡çã·ã¹ãã ã®éçºã«åãçµã¿ãŸããããããŠ1974幎ã«ã¯ãSEQUEL (Structured English Query Language)ãšåä»ãããããã®æ°ã·ã¹ãã ãèªçããŸãããSEQUELã¯ãã®åã®ãšãããæ§é åãããè±èªã®åãåããèšèªã§ããã人éãèªç¶ã«äœ¿ãèšèã§ããŒã¿ããŒã¹ã«åãåãããããšãã§ããŸããããããŠåŸã®1979幎ãåæšã®åé¡ãããã®ååã¯SQL (Structured Query Language) ãšæ¹ç§°ãããçŸåšã«è³ããŸã§ãã®åã䜿ãããŠããŸãã
2.2 SQLã®ããŒãžã§ã³ã®é²å
SQLã®æåã®ããŒãžã§ã³ã¯ãããŒã¿ãæäœãããé¢é£æ§ãåãåããããããåºæ¬çãªæ©èœã ããæã£ãŠããŸããããããããã®åŸã®æ°å幎ã«ããããSQLã¯å¹Ÿå€ã®æ¹è¯ãšé²åãéããŠããŸããã
ãã®æåã®äžæ©ãšãªã£ãã®ã¯ãé¢ä¿ããŒã¿ããŒã¹ç®¡çã·ã¹ãã (RDBMS) ãšããæ°ãã圢åŒã®ããŒã¿ããŒã¹ãç»å Žãã1986幎ã§ããããã®çµæãSQLã¯ãã®æ°ããã·ã¹ãã ãå©çšããããã®æšæºåãããèšèªãšãªããŸããããã®æç¹ã§ãSQLã¯éå®çãªæ©èœããæã£ãŠããŸããã§ããããããã§ãããŒã¿ã®æäœãšç®¡çã«é¢ããŠå€§ããªæ©æµããããããŸããããããŠãSQLãåããŠISOã«ããåœéæšæºåãããã®ã1987幎ã®ããšã§ããã
以éãSQLã¯é²åãç¶ãã1999幎ã«ã¯å€§ããªããŒãžã§ã³ã¢ãããéããŸããããã®ããŒãžã§ã³ã§ã¯ãSQLã¯ãªããžã§ã¯ãæåã®æŠå¿µãšããã«ããããŒã¿ã®æäœãå¯èœãšãªããŸãããããã«ãXMLã®æäœãå¯èœãšãªããªã©ãæ©èœã¯ããè±å¯ã«ãªã£ãŠãããŸããã
çŸåšã®SQLã¯ããã®ããŒãžã§ã³ããšã«æ°ããæ©èœãšæ¹åãè¿œå ããŠããŸããããã«ãããããŒã¿ããŒã¹ã®èŠä»¶ãå€ãã£ãŠããSQLã¯ããã«å¯Ÿå¿ãç¶ããŠããŸãããããŠãã€ãŠã¯æ³åãã€ããªãã£ããããªå€§èŠæš¡ãªããŒã¿ã®ç®¡çãåæãå¯èœãšããŠããŸãã
3. SQLã®åºæ¬
åäºã€ã®ç« ã§ã¯ãSQLãšããèšèªã®èæ¯ããããŠãã®ååšæ矩ãæ¢ããŸãããããã§ã¯ãå®éã«SQLã䜿çšããäžã§ã®åºæ¬ç¥èãåŠã³ãŸãã
3.1 SQLã®çš®é¡ãšéã
SQLãšäžå£ã«èšã£ãŠãããã®äœ¿çšæ¹æ³ã¯ããŸããŸã§ããäž»ã«DDLïŒData Definition LanguageïŒãDMLïŒData Manipulation LanguageïŒãDCLïŒData Control LanguageïŒã®3ã€ã«å€§å¥ãããŸãã
ãŸãDDLã¯ãããŒãã«ã®äœæãå€æŽãªã©ãããŒã¿ããŒã¹ã®æ§é ãå®çŸ©ããããã«äœ¿ãããŸããCREATEãALTERãDROPãªã©ãå ·äœçãªäŸã§ãã
次ã«DMLã¯ãããŒã¿ãå®éã«æäœããããã®èšèªã§ãINSERTãUPDATEãDELETEãSELECTãªã©ã該åœããŸãã
æåŸã«DCLã¯ãããŒã¿ããŒã¹ãžã®ã¢ã¯ã»ã¹æš©ãå¶åŸ¡ããããã®èšèªã§ãGRANTãREVOKEãªã©ã該åœããŸãã
ãããã®éããç解ããããšã§ãSQLãããç解深ãã¬ãã«ã§äœ¿ãããšãã§ããŸãã
3.2 SQLã®ææ³ãšæ§é
SQLã¯éåžžã«ã·ã³ãã«ãªæ§é ãããŠããŸããåºæ¬çã«ã¯ã”äœã” “ã©ãããã®ã” “ã©ã㧔ãšããæ§é ãšãªã£ãŠããŸãã
SELECT äœã FROM ã©ã㧠WHERE ã©ãããã®ã
äŸãã°ã”employees”ãšããããŒãã«ãã”salary”ã”5000″以äžã®”employee_name”ãéžæããå ŽåãSQLã§ã¯ä»¥äžã®ããã«è¡šçŸãããŸãã
SELECT employee_name FROM employees WHERE salary >= 5000
ãã®ããã«ãSQLã¯èªç¶èšèªã«è¿ãæ§é ãããŠããã䜿ãããªãã°éåžžã«äŸ¿å©ãªããŒã«ãšãªããŸãã
3.3 ããŒãã«ã®ç解
SQLã§æ±ãäž»ãªããŒã¿ã¯ã衚圢åŒã®”ããŒãã«”ã§ããããŒãã«ã¯è¡ïŒã¬ã³ãŒãïŒãšåïŒãã£ãŒã«ãïŒããæãç«ã£ãŠããŸãã1ã€ã®ã¬ã³ãŒãã¯1ã€ã®é ç®ïŒäŸãã°ãäžäººã®ç€Ÿå¡ãäžã€ã®ååïŒãè¡šãããã£ãŒã«ãã¯ãã®é ç®ã®å ·äœçãªç¹åŸŽïŒäŸãã°ã瀟å¡ã®ååãååã®äŸ¡æ ŒïŒãè¡šããŸãã
ããŒãã«ã®ç解ã¯ãSQLã䜿ã£ãããŒã¿ããŒã¹æäœã®åºæ¬ãšãªããŸããããŒãã«ãé©åã«èšèšããé©åã«æäœããããšãæ±ããããŸãã
以äžã§SQLã®åºæ¬ã«ã€ããŠèª¬æããŸãããæ¬¡ç« ã§ã¯ããããã®åºæ¬æäœãæŽã«æãäžããããå ·äœçãªæäœæ¹æ³ãåŠãã§ãããŸãã
4.SQLã®ã³ã¢æŠå¿µ
SQLã䜿ãããªãããã«ã¯ãããŒã¿ããŒã¹ã®åºæ¬çãªæ§æèŠçŽ ãããŒã¿åãšãã®å©çšæ¹æ³ããããŠããŒãšã€ã³ããã¯ã¹ãšãã£ãã³ã¢æŠå¿µã®ç解ãæ¬ ãããŸããããããã®ç解ãæ·±ãŸãããšã§ãã³ãŒãã®ãã€æå³ãããã°ã©ã ã®åäœç解ãããè±ãã«ãªãã§ãããã
4.1 ããŒã¿ããŒã¹ã®æ§æèŠçŽ
ããŒã¿ããŒã¹ã¯äžèŠãããšè€éã«æããã¡ã§ãããå®ã¯ããã€ãã®åºæ¬çãªæ§æèŠçŽ ããæãç«ã£ãŠããŸãã
æãåºæ¬çãªæ§æèŠçŽ ã¯ããŒãã«ã§ããããŒãã«ã¯ããŒã¿ããŒã¹ã®äžå¿ãšãªãååšã§ãè¡ïŒã¬ã³ãŒãïŒãšåïŒãã£ãŒã«ãïŒã§æ§æãããŸããã¬ã³ãŒãã¯äžé£ã®ããŒã¿ãããã£ãŒã«ãã¯ãã®ããŒã¿ã®ç¹æ§ãè¡šããŸãã
ãŸããã¹ããŒããšã¯ãããŒã¿ããŒã¹ã®æ§é èªäœã瀺ãèŠçŽ ã§ããããŒãã«ããã£ãŒã«ããããããæã€ããŒã¿åãªã©ãããŒã¿ããŒã¹ãæ§æããèŠçŽ ãšãã®é¢ä¿æ§ãå®çŸ©ããŸãã
4.2 ããŒã¿åãšãã®å©çš
SQLã§ã¯ãããŒã¿ãæ±ãããã«æ§ã ãªããŒã¿åãååšããŸããæååãæ±ãvarcharãæ°å€ãæ±ãintãfloatãæ¥ä»ãæéãæ±ãdatetimeãªã©ãäž»èŠãªããŒã¿åã§ããããŒã¿åãé©åã«å©çšããããšã§ãããŒã¿ã®åãæ±ãããã容æã«ãªãããšã©ãŒãäžæŽåãäºé²ããããšãå¯èœã§ãã
äŸãã°ããååäŸ¡æ Œããæ±ããã£ãŒã«ãã¯æ°å€åïŒintãfloatïŒããåååãæ±ããã£ãŒã«ãã¯æåååïŒvarcharïŒãèšå®ããŸãããã®ããã«é©åãªããŒã¿åãèšå®ããããšã§ãæ å ±ãæ£ç¢ºã«æŽçãããæåŸ ããåäœãå®çŸã§ããŸãã
4.3 ããŒãšã€ã³ããã¯ã¹ã®ç解
ããŒã¿ããŒã¹ã«ãããããŒãšã€ã³ããã¯ã¹ã¯ãæ å ±ã®åç §ã»æ€çŽ¢ãé«éåããããŒã¿ã®æŽåæ§ãä¿ã€ããã®éèŠãªã³ã³ããŒãã³ãã§ãã
ããŒã¯ããŒãã«å ã®ã¬ã³ãŒããäžæã«èå¥ããããã®å€ã§ãããäž»ããŒã¯ããŒãã«å šäœã§å¯äžã®å€ãæã€ãã£ãŒã«ããæããŸããããŒãèšå®ããããšã§ãäžæãªããŒã¿ãæ£ç¢ºã«åç §ããäžæ£ãªããŒã¿ã®éè€ãé²ãããšãå¯èœã§ãã
äžæ¹ãã€ã³ããã¯ã¹ã¯ç¹å®ã®ãã£ãŒã«ãã®ããŒã¿ãçŽ æ©ãåç §ããããã®æ段ã§ãã
ããŒã¿ã倧éã«ããããŒãã«ã§ããŒã¿æ€çŽ¢ãè¡ããšããã€ã³ããã¯ã¹ããããšããã®ãã£ãŒã«ãã®å€ãåºã«ããæ€çŽ¢ãæ Œæ®µã«éããªããŸãã
ããŒãšã€ã³ããã¯ã¹ãé©åã«èšå®ããããšã§ã倧éã®ããŒã¿ãå¹çããåãæ±ãããšãå¯èœãšãªããŸãã
5.SQLã®åºæ¬æäœ
ç§ãã¡ãæ¥åžžçã«è¡ãããŒã¿ããŒã¹ãžã®æäœã¯ãSQLã®åºæ¬çãªã³ãã³ããããããCRUDïŒCreate, Read, Update, DeleteïŒæäœã«éçŽãããŸãããããã®æäœã¯ããŒã¿ããŒã¹ãæäœããäžã§æ¬ ãããªããã®ã§ãããããã§ã¯ãã®åºæ¬ãšãªã4ã€ã®SQLæ – SELECTãINSERTãUPDATEããã㊠DELETEã«ã€ããŠåŠã³ãŸãã
5.1 SELECTæã®ç解ãšäœ¿çšæ¹æ³
SELECTæã¯ããŒã¿ããŒã¹ããæå®ãããã«ã©ã ã®ããŒã¿ãååŸããããã«çšããããŸããåºæ¬çãªåœ¢ã¯SELECT åå FROM ããŒãã«å;
ãšãªããŸããäŸãã°ãemployees
ããŒãã«ããå
šãŠã®åŸæ¥å¡ã®name
ãšage
ãååŸãããå ŽåãSELECT name, age FROM employees;
ãšèšè¿°ããŸããå
šãŠã®ã«ã©ã ãååŸãããå Žåã¯*
ã䜿çšããSELECT * FROM employees;
ãšèšè¿°ããŸãã
5.2 INSERTæã®ç解ãšäœ¿çšæ¹æ³
INSERTæã¯æ°èŠã®ããŒã¿ãããŒã¿ããŒã¹ã«è¿œå ããããã®ã³ãã³ãã§ããINSERT INTO ããŒãã«å (åå1, åå2,...) VALUES (å€1, å€2, ...);
ã®åœ¢ã§äœ¿çšããŸããããšãã°ãemployees
ããŒãã«ã«æ°ããªåŸæ¥å¡ã®æ
å ±ãname
ã’Suzuki’ãage
ã’25’ãè¿œå ããã«ã¯ãINSERT INTO employees (name, age) VALUES ('Suzuki', 25);
ãšããŸãã
5.3 UPDATEæã®ç解ãšäœ¿çšæ¹æ³
UPDATEæã¯æ¢åã®ããŒã¿ãæŽæ°ããããã«çšããŸããUPDATE ããŒãã«å SET åå = æ°ããå€ WHERE æ¡ä»¶;
ã®åœ¢ã§äœ¿çšããŸããäŸãã°ãemployees
ããŒãã«ã§name
ã’Suzuki’ã®age
ã’26’ã«æŽæ°ãããå ŽåãUPDATE employees SET age = 26 WHERE name = 'Suzuki';
ãšèšè¿°ããŸãããªããWHEREãå¿ãããšããŒãã«å
ã®å
šãŠã®ããŒã¿ãæŽæ°ãããŠããŸãã®ã§æ³šæãå¿
èŠã§ãã
5.4 DELETEæã®ç解ãšäœ¿çšæ¹æ³
DELETEæ ã¯äžèŠãªããŒã¿ãåé€ããããã«äœ¿çšããŸããDELETE FROM ããŒãã«å WHERE æ¡ä»¶;
ã®åœ¢ã§äœ¿çšããŸããäŸãã°ãemployees
ããŒãã«ã§name
ã’Suzuki’ã®è¡ãåé€ãããå ŽåãDELETE FROM employees WHERE name = 'Suzuki';
ãšèšè¿°ããŸãããã¡ããWHERE
å¥ãå¿ãããšå
šããŒã¿ãåé€ãããã®ã§æ³šæãå¿
èŠã§ãã
以äžãSQLã®åºæ¬æäœã«ããCRUDæäœã®äœ¿ãæ¹ãšãªããŸããããããç解ããŠæŽ»çšããã°ãããŒã¿ããŒã¹ã«å¯ŸããŠåºæ¬çãªæäœãå¯èœãšãªããŸãã
6.SQLã®å¿çšæäœ
ãããŸã§ã®ç¯ã§ã¯ãSQLã®åºæ¬æäœã«ã€ããŠåŠãã§ããŸãããããããããŒã¿ããŒã¹ããã®æ å ±ååŸãè€éã«ãªããšããåºæ¬æäœã ãã§ã¯å¯Ÿå¿ã§ããŸãããããã§ããã®ç¯ã§ã¯ãSQLãããã«ãã¯ãã«ã«äœ¿ãããã®å¿çšæäœãJOINãGROUP BYãHAVINGãããã³ãµãã¯ãšãªã«ã€ããŠè§£èª¬ããŸãã
6.1 JOINã®ç解ãšäœ¿çšæ¹æ³
ãŸãJOINã«ã€ããŠåŠã³ãŸããããJOINãšã¯ãè€æ°ã®ããŒãã«ããæ å ±ãçµåããŠååŸããããã®æäœã§ããããŒãã«éã®é¢é£ä»ããå©çšããŠããŒã¿ãæäœãããããé¢é£ããŒã¿ãè€æ°ã«åæ£ãããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ã§ã¯éèŠãªæè¡ãšãªããŸãã
äŸãã°ã"Users"ããŒãã«ãš"Orders"ããŒãã«ããããããããã«user_idãšããå ±éããã«ã©ã ããããšããŸãããã®2ã€ã®ããŒãã«ãJOINããããšã§ããŠãŒã¶ãŒæ å ±ãšãã®ãŠãŒã¶ãŒã®æ³šææ å ±ãäžåºŠã«ååŸããããšãã§ããŸãã SQLæã¯ä»¥äžã®ããã«ãªããŸãã SELECT Users.user_name, Orders.order_date FROM Users JOIN Orders ON Users.user_id = Orders.user_id;
ãã®ããã«ãJOINã䜿ãããšã§ãè€æ°ã®ããŒãã«ããäžåºŠã«æ å ±ãåãåºãããšãå¯èœãšãªããŸãã
6.2 GROUP BYãšHAVINGã®ç解ãšäœ¿çšæ¹æ³
次ã«GROUP BYãšHAVINGã«ã€ããŠè§£èª¬ããŸããGROUP BYãšHAVINGã¯éèšåŠçã«ãããŠå¿ èŠãšãªãæäœã§ãã
GROUP BYã¯ãã®åã®éããåãå€ãæã€ããŒã¿ãã°ã«ãŒãåããããã®åœä»€ã§ããäŸãã°ã"Orders"ããŒãã«ãããååããšã«ããã€æ³šæããã£ããã調ã¹ãããšãã¯ä»¥äžã®ããã«æžãããšãã§ããŸãã SELECT product, COUNT(order_id) FROM Orders GROUP BY product; äžæ¹ãHAVINGã¯GROUP BYã§äœæããã°ã«ãŒãã«å¯ŸããŠæ¡ä»¶ãã€ããããã®åœä»€ã§ãããããå©çšããã°ãäžèšã®äŸã«å ãã泚ææ°ã10以äžã®ååã ãã調ã¹ããšãã£ãããšãå¯èœãšãªããŸãã SELECT product, COUNT(order_id) FROM Orders GROUP BY product HAVING COUNT(order_id) >= 10;
GROUP BYãšHAVINGãé©åã«äœ¿ãããšã§ãããŒã¿ã®éèšãšãã£ã«ã¿ãªã³ã°ã容æã«ãªããŸãã
6.3 ãµãã¯ãšãªã®ç解ãšäœ¿çšæ¹æ³
æåŸã«ãµãã¯ãšãªã«ã€ããŠèª¬æããŸãããµãã¯ãšãªã¯ãã¯ãšãªå éšã§å¥ã®SQLæãå®è¡ããããã®ãã®ã§ããããã«ãããè€æ°ã¹ãããã®æ å ±ååŸãäžåºŠã®SQLæã§å®è£ ã§ããŸãã
äŸãã°ãæã売ããååã®ååã調ã¹ããå Žåã¯ã次ã®ãããªãµãã¯ãšãªãäœæããŸãã SELECT product FROM Orders WHERE order_id IN ( SELECT order_id FROM Orders GROUP BY product ORDER BY COUNT(order_id) DESC LIMIT 1 ); ãã®ã¯ãšãªã¯ãæåã«å éšã®ãµãã¯ãšãªã§å£²ããååã®é ã«æ³šæã䞊ã³æ¿ããæããã売ããååã®æ³šæIDãååŸãããããå€éšã®ã¯ãšãªã§å©çšããŠåååãååŸããŸãã
ãµãã¯ãšãªã䜿ãããšã§ãè€éãªåãåãããäžã€ã®SQLæã§è§£æ±ºã§ããŸãã
以äžãSQLã®å¿çšæäœã«ãªããŸãããããã®æäœããã¹ã¿ãŒããããšã§ãSQLã®åŠçèœåã¯å€§å¹ ã«åºãããããããæ å ±ã®ååŸãšåæãå¯èœãšãªããŸãã
7.é«åºŠãªSQLãã¯ããã¯
ããã§ã¯ãããŒã¿ããŒã¹æäœã«ãããäžæ©é²ãã ã¬ãã«ã®SQLã®ãã¯ããã¯ã«ã€ããŠèª¬æããŸãããããããã¹ã¿ãŒããããšã§ãããå¹ççã§å®è·µçãªããŒã¿ããŒã¹ç®¡çãå¯èœã«ãªããŸãã
7.1 ãã¥ãŒã®å©çš
ãã¥ãŒãšã¯ãä»®æ³çãªããŒãã«ã®ããšãæããäžã€ä»¥äžã®ããŒãã«ããå°åºãããçµæã»ããïŒè¡ãšåã®çµïŒãè¡šããŸãããã¥ãŒã¯å®éã®ããŒã¿ãå«ãã§ããããããŒã¿ã¯åºã«ãªãããŒãã«ã«æ ŒçŽãããŠããŸãã
ãã¥ãŒã®æãäžè¬çãªäœ¿çšäŸã¯ãäžéšã®åã ããæœåºããããè¡ããã£ã«ã¿ãªã³ã°ãããããããšã§ããããšãã°ãç¹å®ã®ãŠãŒã¶ãŒãã¢ã¯ã»ã¹ã§ããåãå¶éããããã«ãã¥ãŒã䜿çšããããšããããŸããããã«è€éãªã¯ãšãªãã·ã³ãã«ã«ããããã«ãå©çšãããŸãã
7.2 ãã©ã³ã¶ã¯ã·ã§ã³å¶åŸ¡
ãã©ã³ã¶ã¯ã·ã§ã³ã¯äžé£ã®æäœã®ãŸãšãŸãã§ããã¹ãŠã®æäœãããŸãããïŒã³ãããïŒããäžã€ã§ã倱æããã°ãã¹ãŠå ã«æ»ãïŒããŒã«ããã¯ïŒããšãä¿èšŒããŸãããããã®æäœã¯ã¢ãããã¯æ§ãã€ãŸãäžå¯åãšãããŸãã
SQLã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³ã®éå§ãšçµäºãæ瀺çã«æå®ããããšãã§ããŸããäŸãã°ã顧客æ å ±ãã¢ããããŒãããŠãããã®å€æŽãè«æ±ããŒãã«ã«åæ ããããã®éã«ãšã©ãŒãçããå Žåãå šãŠã®å€æŽãå ã«æ»ãããšãã§ããŸããããã«ãããããŒã¿ã®äžè²«æ§ãä¿ãããŸãã
7.3 ã¹ãã¢ãããã·ãŒãžã£ãšããªã¬ãŒ
ã¹ãã¢ãããã·ãŒãžã£ã¯ãäžé£ã®SQLã¹ããŒãã¡ã³ããäžã€ã®ããã°ã©ã ãšããŠããŒã¿ããŒã¹ã«ä¿åãããã®ã§ããããã«ãããäžé£ã®æäœãäžåºŠã«å®è¡ã§ããåå©çšãå¯èœãšãªããŸãããŸããã¹ãã¢ãããã·ãŒãžã£ã¯äžè¬çã«ã¯ãSQLæãããŒã¿ããŒã¹ãµãŒããŒã«æ¯åéä¿¡ãããã®ã§ã¯ãªããäžåºŠã ãéä¿¡ãããããããããã¯ãŒã¯ãã©ãã£ãã¯ã®è»œæžã«ãè²¢ç®ããŸãã
äžæ¹ãããªã¬ãŒã¯ãããŒã¿ããŒã¹ã«å¯Ÿããç¹å®ã®ã€ãã³ãïŒINSERTãUPDATEãDELETEãªã©ïŒãçºçãããšãã«èªåçã«å®è¡ãããã¹ãã¢ãããã·ãŒãžã£ã®äžçš®ã§ããããã«ãããããŒã¿å®å šæ§ã®ä¿èšŒãç¹å®ã®ããžãã¹ã«ãŒã«ã®åŒ·å¶ãªã©ãå¯èœã«ãªããŸãã
以äžããã¥ãŒããã©ã³ã¶ã¯ã·ã§ã³å¶åŸ¡ãã¹ãã¢ãããã·ãŒãžã£ãšããªã¬ãŒã¯SQLã®é«åºŠãªæè¡ã§ãããããããç解ãå®è·µããããšã§ãå¹ççã§å調æ§ã®ããããŒã¿ããŒã¹ç®¡çãè¡ãããšãå¯èœãšãªããŸãã
8.SQLãšããŒã¿åæ
çŸä»£ã®ããžãã¹äžçã§ã¯ãããŒã¿ã®åéãšãã®åæããŸããŸãéèŠã«ãªã£ãŠããŠããŸãããœãŒã·ã£ã«ã¡ãã£ã¢ããŠã§ããµã€ãã補åã®äœ¿çšç¶æ³ãªã©ãæ°ãåããªãã»ã©ã®ãœãŒã¹ããã®ããŒã¿ããããŒã±ãã£ã³ã°ã®å¹æãè©äŸ¡ãããã顧客ã®è¡åãç解ããããæ°è£œåã®éçºãå°ãããããã®ã«å©çšãããŠããŸãããã®ããã倧éã®ããŒã¿ãæ±ãèœåã¯ãçŸåšã®ç€ŸäŒã§éåžžã«äŸ¡å€ã®ããã¹ãã«ãšãªã£ãŠããŸãããããŠããã®èœåãæã€ããã«ã¯SQLã®ç¥èãå¿ é ãªã®ã§ãã
8.1 ããŒã¿åæã§ã®SQLã®äœ¿çšæ¹æ³
ããŒã¿åæã§ã¯ããŸãSQLã䜿çšããŠããŒã¿ããŒã¹ããå¿ èŠãªããŒã¿ãåãåãããããšããå§ãŸããŸããSELECTæã䜿çšããŠãç¹å®ã®æ¡ä»¶ã«äžèŽããè¡ãæœåºããããGROUP BYæã䜿çšããŠãç¹å®ã®ã«ã©ã ã®å€ã«åºã¥ããŠããŒã¿ãã°ã«ãŒãåãããããŸãã
ãŸããJOINã䜿çšããŠãè€æ°ã®ããŒãã«ã®ããŒã¿ãçµåãããã詳现ãªæ å ±ãæœåºããããšãäžè¬çã§ããäŸãã°ã顧客ããŒãã«ãšæ³šæããŒãã«ãçµåããããšã§ãç¹å®ã®æé垯ãå°åã§æãããè³Œå ¥ãããååãç¹å®ã§ããŸãã
ããã«ãHAVINGæã䜿çšããŠãGROUP BYæã§äœæããã°ã«ãŒãã«è¿œå ã®æ¡ä»¶ãé©çšããããšãå¯èœã§ããããã«ãããäŸãã°ãç¹å®ã®éé¡ä»¥äžã®æ³šæãè¡ã£ã顧客ã ããæœåºãããªã©ã®è€éãªã¯ãšãªãç°¡åã«å®è¡ããããšãã§ããŸãã
8.2 SQLãçšããé«åºŠãªåæææ³
SQLã¯ãåºæ¬çãªããŒã¿æœåºãéçŽæäœã ãã§ãªããããé«åºŠãªåæææ³ãå®è¡ããããã®æ©èœãæäŸããŠããŸããããšãã°ããŠã£ã³ããŠé¢æ°ã¯ãããŒã¿ã»ããå šäœã«å¯ŸããæäœïŒäŸãã°ãã©ã³ãã³ã°ã环ç©åèšïŒãå®è¡ããã®ã«åœ¹ç«ã¡ãŸãã
ãŸããCommon Table ExpressionsïŒCTEïŒã¯ãäžæçãªçµæã»ãããäœæãããããåãSQLã¯ãšãªå ã§äœåºŠã䜿çšããããšãå¯èœã«ããŸããããã«ãããè€éãªåãåãããããèªã¿ãããã管çãããã圢ã«åå²ã§ããŸãã
ããã«ãCASEæã䜿çšããã°ãç¹å®ã®æ¡ä»¶ã«åºã¥ããŠããŒã¿ãæäœããæè»ãªæäœãè¡ãããšãå¯èœã§ããããšãã°ãç¹å®ã®é¡§å®¢ã®è³Œå ¥å±¥æŽã«åºã¥ããŠããã®é¡§å®¢ããé«äŸ¡æ Œååã®é »ç¹ãªè³Œå ¥è ãããäœäŸ¡æ Œååã®ããŸã®è³Œå ¥è ããªã©ã®ã«ããŽãªã«åããããšãã§ããŸãã
SQLã¯ããããã®æ©èœã«ãããåå¿è ããäžçŽè ãŸã§å¹ åºããŠãŒã¶ãŒã«å¯ŸããŠãããŒã¿åæã®ããã®åŒ·åãªããŒã«ãæäŸããŠããŸããããŒã¿åæã®æè¡ã¯é²åãç¶ããŠããŸããããã®æ ¹åºã«ããã®ã¯ãã¯ãSQLã®åºæ¬çãªæŠå¿µã§ãããããããç解ããŠããããšãäœããéèŠã§ãã
9. ããŒã¿ããŒã¹ã®èšèš
ãã®ç« ã§ã¯ãããŒã¿ããŒã¹ã®èšèšã«çŠç¹ãåœãŠãŸããå ·äœçã«ã¯ãããŒã¿ã¢ããªã³ã°ã®æŠå¿µãšããããå¯èŠåããERå³ã«ã€ããŠæ·±ãæãäžããŠãããŸãããããããã¯ãå¹ççãªããŒã¿ããŒã¹èšèšãæãéããããã«æ¥µããŠéèŠãªèŠçŽ ã§ãã
9.1 ããŒã¿ã¢ããªã³ã°æŠå¿µ
ããŒã¿ã¢ããªã³ã°ãšã¯ãå¿ èŠãªããŒã¿ãšãã®é¢é£æ§ãæŽçããããŒã¿ããŒã¹ã®æ§é ãèšç»ããããã®ããã»ã¹ã§ãããã®çµæãçããããŒã¿ã®æ§é ã¯å®éã®ããŒã¿ããŒã¹ã®èšèšãšãªããŸãã
ããŒã¿ã¢ããªã³ã°ã¯3ã€ã®äž»èŠãªã¹ããããããªããŸãã
- æŠå¿µããŒã¿ã¢ããªã³ã° – ããŒã¿ãšãã®é¢é£æ§ãé«ã¬ãã«ã§å®çŸ©ããã©ã®æ å ±ãå¿ èŠãšãããã®ãã«ã€ããŠã®ç解ãæ·±ããŸãã
- è«çããŒã¿ã¢ããªã³ã° – ããŒã¿ã®è©³çŽ°ãªæ§é ãå®çŸ©ããå±æ§ãäž»ããŒãå€éšããŒãããŒãã«éã®é¢é£æ§ãªã©ãç¹å®ããŸãã
- ç©çããŒã¿ã¢ããªã³ã° – ã©ã®ããã«ããŒã¿ãããŒã¿ããŒã¹ã·ã¹ãã ã§ä¿åããããã決å®ããŸããããã¯ãæ§èœæé©åãã¹ãã¬ãŒãžã®èŠä»¶ã«é¢é£ããŠããŸãã
ãããã®ã¹ããããç解ããŠå®æœããããšã¯ãæ¬ é¥ã®ãªãããŒã¿ããŒã¹èšèšãžã®éµã§ãããåŸã®æ®µéã§æãã¬ãã©ãã«ãé²ãããšã«ç¹ãããŸãã
9.2 ERå³ãšãã®äœæ
ãã®æ¬¡ã«ãããŒã¿ã¢ããªã³ã°ãå¯èŠåããããã®äžã€ã®ææ³ã§ããERå³ã«ã€ããŠèª¬æããŸãã
ERå³ãšã¯ãEntity-Relationship Diagramã®ç¥ã§ããšã³ãã£ãã£(å®äžçã®ãªããžã§ã¯ããäºè±¡)ãšãããã®éã®é¢ä¿ãæãããã®å³ã§ããäž»ã«æ å ±ã·ã¹ãã ãèšèšããããã«äœ¿çšããããã®ã·ã¹ãã ã§å¿ èŠãšãããããŒã¿ãšãã®æ§é ãæ確ã«ããŸãã
ERå³ã«ã¯éåžžããšã³ãã£ãã£ãå±æ§ããªã¬ãŒã·ã§ã³ã·ãããšãã3ã€ã®äž»èŠãªèŠçŽ ããããŸãã
- ãšã³ãã£ãã£ïŒããŒã¿ããŒã¹ã«ä¿åãããæ å ±ã®å®éã®ãã®ãïŒäŸïŒé¡§å®¢ã補åãªã©ïŒ
- å±æ§ïŒãšã³ãã£ãã£ã詳现ã«èª¬æããæ å ±ãïŒäŸïŒé¡§å®¢ã®ååã補åã®äŸ¡æ Œãªã©ïŒ
- ãªã¬ãŒã·ã§ã³ã·ããïŒãšã³ãã£ãã£éã®é¢é£æ§ãïŒäŸïŒé¡§å®¢ã補åãè³Œå ¥ãããªã©ïŒ
ERå³ã®äœæã¯ããŒãã«éã®é¢ä¿ãæããã«ããäžè²«æ§ãšç²ŸåºŠãæãããããšãã§ããŸãããŸããERå³ã¯ä»ã®äººãããŒã¿ããŒã¹ã®æ§é ãç解ããã®ã«åœ¹ç«ã€æ å ±æºãšããªããŸãã
ERå³ãäœæããããã«ã¯ãããŒã¿ããŒã¹ãå¿ èŠãšããããžãã¹ã«ãŒã«ãç解ããããšã第äžæ©ãšãªããŸããããããããŒã¿ããŒã¹ãäœæããæ¹ã¯ããããã®ã¹ããããç解ããäžã§ERå³ã掻çšããããšãæå¹ã§ãã
10. SQLã®åŠç¿ãªãœãŒã¹
SQLã®åŠç¿ã¯å€ãã®å Žåãèªå·±åŠç¿ã§è¡ãããŸãããã®ãããé©åãªåŠç¿ãªãœãŒã¹ãæ¢ç¥ããããšããå¹ççãªåŠç¿ã«ç¹ãããŸããããã§ã¯ãSQLåŠç¿ã«ããããã®åèæžç±ãšãªã³ã©ã€ã³ãªãœãŒã¹ããŸãšããŠããŸãã
10.1 SQLåŠç¿ã«ãããåèæžç±
ãŸãã¯ãæå ã«çœ®ããŠããããåèæžç±ã®çŽ¹ä»ã§ãããSQLåå¿è ããã£ããåŠã¹ãæ¬ãã¯ãäŸãã°ãSQLã«ã€ããŠäžããåŠã³ãããšèããŠããå ¥éè ãèªå·±åŠç¿è ã«æé©ãªäžåã§ããé£è§£ãªçè«ãé£ã°ããŠãå ·äœçãªäœ¿ãæ¹ãããã«ã§ãåŠã³ããããšããæ¹ã«ããªã¹ã¹ã¡ã®äžåã§ãã
ãŸãããSQLå®è·µå ¥éãã¯ãåå¿è ããäžçŽè ãŸã§ã®æ¹ãåºãåŠã¹ãæ¬ã§ããå©çšã·ãŒã³å¥ã®ã¬ã·ã圢åŒã«ãªã£ãŠãããå®éã®åé¡è§£æ±ºã«çŽçµããå 容ãæºèŒãããŠããŸãã
10.2 ãªã³ã©ã€ã³ã§å©çšã§ããSQLãªãœãŒã¹
次ã«ããªã³ã©ã€ã³ã§å©çšã§ããSQLãªãœãŒã¹ã玹ä»ããŸããçŸåšã§ã¯ãææã»ç¡æåãããéåžžã«å€ãã®ãªã³ã©ã€ã³ãªãœãŒã¹ããããŸãã
ãŸãããCodecademyãã¯ã€ã³ã¿ã©ã¯ãã£ããªåŠç¿ãå¯èœã§ãSQLãå§ããšããå€ãã®ããã°ã©ãã³ã°èšèªã®ã³ãŒã¹ãååšããŸããããã°ã©ãã³ã°åå¿è ããçµéšè ãŸã§ãåèªã®ã¬ãã«ã«å¿ããã³ãŒã¹ãéžã¶ããšãã§ããŸãã
ãŸãããSQLZooãã¯SQLã«ç¹åãããªã³ã©ã€ã³ãªãœãŒã¹ã§ãå®éã«ã¯ãšãªãæžããŠå®è¡ã§ãã察話åã®åŠç¿ç°å¢ãæäŸããŠããŸããåå¿è åãã®åºæ¬çãªã¯ãšãªãããå®è·µçãªèª²é¡ãŸã§æã£ãŠããŸãã
ãããã®åŠç¿ãªãœãŒã¹ãäžæã掻çšããŠãäžæ©äžæ©èªåã®ããŒã¹ã§SQLã®ç¥èãå¢ãããŠãããŸãããã
11. SQLã«ãããã£ãªã¢ãšå°æ¥æ§
ããŒã¿é§åã®æ代ãè¿ããSQLã®ã¹ãã«ã¯ãŸããŸãéå®ãããããã«ãªã£ãŠããŸãããããã§ã¯ãå ·äœçã«ãã®ãã£ãªã¢ãã¹ãå°æ¥æ§ã«ã€ããŠèŠãŠãããŸãããã
11.1 SQLã¹ãã«ãšè·æ¥
æãäžè¬çãªè·æ¥ã§SQLã¹ãã«ãå¿ èŠãšãããã®ã¯ãããŒã¿ããŒã¹ç®¡çè (DBA)ãããŒã¿ã¢ããªã¹ããªã©ãæããããšãã§ããŸãããããã®è·çš®ã§ã¯ããŒã¿ããŒã¹ã®èšèšã管çãåæãšãã£ãæ¥åãæ åœããŸããããããããã ãã§ã¯ãããŸããããœãããŠã§ã¢ãšã³ãžãã¢ãããŒã¿ãµã€ãšã³ãã£ã¹ããããžãã¹ã€ã³ããªãžã§ã³ã¹ã¢ããªã¹ããªã©ãæ§ã ãªè·çš®ã§SQLã®åã掻çšããããšãã§ããŸãã
äŸãã°ããœãããŠã§ã¢ãšã³ãžãã¢ã®å Žåãã¢ããªã±ãŒã·ã§ã³ã®éçºãæ©èœè¿œå ãªã©ã®çºã«ããŒã¿ããŒã¹ãšã¢ããªã±ãŒã·ã§ã³ãšã®é£æºãéèŠãšãªãããããã®æ å ±ãæäœããããã«SQLãæ±ããããŸããããŒã¿ãµã€ãšã³ãã£ã¹ããBIã¢ããªã¹ãã¯ãããŒã¿ã®æ¢çŽ¢ãåæãã¬ããŒãäœæãªã©ã«SQLãçšããããšãå€ããªããŸãããããã®ãããã§ãã·ã§ã³ã§ã¯ãããŒã¿ã®æœåºã暪ææ€çŽ¢ãéèšãªã©ã®SQLãåŸæãšããæäœãé »ç¹ã«å¿ èŠãšãããçºã§ãã
11.2 SQLã®å°æ¥æ§
ããŒã¿ã¯ä»åŸããŸããŸãå¢ãç¶ããããã管çã»æŽ»çšããããã®æ段ãšããŠãSQLã®éèŠæ§ã¯é«ãŸãç¶ããã§ããããããã¯SQLãæãæ®åããŠããããŒã¿æäœèšèªã§ããããã®æ®åç¯å²ã¯éåžžã«åºãããã§ããææ°ã®ãã¯ãããžãŒãäŸãã°ã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ãããã°ããŒã¿ãAIïŒäººå·¥ç¥èœïŒãªã©ã§ããããŒã¿ãæäœããåºç€ãšããŠSQLãå©çšãããŸãã
ãŸããSQLã¯åå¿è ã«ãåŠã³ãããèšèªã§ãããã®æ§æã¯è±èªã«è¿ããçŽæçã«ç解ããããšãå¯èœã§ãããã®ããåå¿è ãããã°ã©ãã³ã°ãããŒã¿åæãåŠã³å§ããéã®ç¬¬äžæ©ãšããŠããŸãçµéšè ããããªãã¹ãã«ã¢ãããå³ãããŒã«ãšããŠãã©ã¡ãã®å Žåã§ãåªããéžæãšãªãã®ã§ããæ ã«ããã®æ®åã®åºŠåãã¯ããã«å¢ãããšã§ãããã
ç¶ããŠã¯ããã®ãããªSQLã¹ãã«ãç¶ç¶çã«ç¿åŸã»ç¶æããããã®æ¹æ³ã«ã€ããŠã玹ä»ããŸãã
12. çµç« ïŒSQLã®ç¥èãç¶ç¶çã«ç£šãã
SQLã¯çŸä»£ã®ããŒã¿ããªãã³ãªäžçã§éèŠãªã¹ãã«ã®äžã€ã§ãããç§ãã¡ãç解ãç¶ããã¹ããã®ã§ããããŸããŸãªæ代ããã¯ãããžãŒã®å€é©ãããäžã§ããSQLã¯ãã®åºæ¬æŠå¿µãç¶æãç¶ããŠããŸããããã¯éåžžã«ãã©ã¯ãã£ã«ã«ã§å¹æçãªããŒã«ã§ããããã®éèŠæ§ã¯ä»åŸãå¢ãã§ãããã
12.1 ç¶ç¶çãªåŠç¿ã®éèŠæ§
SQLã®ç¥èãç¿åŸããããšã¯è¯ãããšã§ããããããç¶ç¶çã«ç£šããŠããããšãéèŠã§ãããªããªããæè¡ã¯åžžã«é²åããæ°ãããã¬ãŒã ã¯ãŒã¯ãããŒã«ãç»å ŽããŠããŸããããã¯SQLã«ãåœãŠã¯ãŸããŸããæ°ããé¢æ°ãæ§æãè¿œå ãããŠããå¯èœæ§ããããããããç¡èŠããŠããŸããšãSQLã®èœåãæ倧éã«æŽ»çšãããã£ã³ã¹ãéãããšã«ãªããããããŸããã
ããã«ãç¶ç¶çãªåŠç¿ã¯ããªãã®èœåãéããããå°é£ãªåé¡ã«åãçµãæè¡ãæã€ããšãå¯èœã«ããŸãã絶ããæ°ããããšã«ææŠããããªãã®ãŸãŒã³ãæŒãåºããããšã§ãä¿¡ããããªãã»ã©ã®é²åãéããããšãã§ããŸãã
12.2 SQLã¹ãã«åäžã®ããã®ãã³ã
ããã§ã¯ãå ·äœçã«ã©ã®ããã«SQLã¹ãã«ãåäžãããããšãã§ããã®ã§ããããïŒããã§ã¯ããã€ãã®ãã³ãã瀺ããŸãããŸããåžžã«åºç¯ã§å®çšçãªã¢ããªã±ãŒã·ã§ã³ãèŠã€ããããããSQLã§è§£æ±ºããããšææŠããŠã¿ãŠãã ãããããªããããŒã¿åæã®ä»äºãããŠãããã©ããã«é¢ããããèªèº«ã®ã¢ã€ãã¢ãå®çŸããããã®ããŒã«ãšããŠSQLãå©çšããããšã¯äŸ¡å€ããããŸãã
次ã«ãæ°ããäºæã«ã
ã§èšãããã«ããŸããããæ°ããæ§æãé¢æ°ã«ã€ããŠåŠã¶ããšã¯ãã¡ãããSQL以å€ã®ããŒã¿ããŒã¹æè¡ã«ã€ããŠãåŠãã§ã¿ãŠãã ãããããã«ãããããªãã®èŠéãåºãããæ°ããèŠç¹ããåé¡ã解決ã§ããããã«ãªããŸãã
æåŸã«ãSQLã®ãšãã¹ããŒãã®è§£èª¬ããã¥ãŒããªã¢ã«ãèªãã ãã§ãªããèªèº«ã§SQLã®ã¯ãšãªãæžããŠã¿ãããšã§ããèªèº«ã§SQLãæžãããšã§åããŠæ§ã ãªåé¡ã«çŽé¢ããããã解決ããçµéšããåŠã³ãŸãããŸããéã人ãæžããSQLãèªãã§ç解ãããã®SQLãã©ã®ããã«åé¡è§£æ±ºã«åœ¹ç«ã£ãŠããã®ãã確èªããŠã¿ãããšãæçã§ãã
ãããã®ãã³ãã¯ããªããSQLã®ã¹ãã«ãåäžãããæ倧éã«æŽ»çšããæå©ããšãªãã§ããããæè¡ã¯åžžã«é²åãç¶ããŠããŸãããååã¯ïŒãããããã§ããã¡ããã©SQLã®ããã«ïŒå€ãããªããã®ã§ãããããã®ååããã£ãããšç解ããããããäžãããã£ã³ã¹ãéããªãããã«ããŸãããã