SQL äœæããŒãã«
SQL ã§ã³ãŒãã£ã³ã°ãããšãã«æåã«ç¥ã£ãŠããã¹ãããšã¯ãcreate table ã¹ããŒãã¡ã³ãã§ããããŒãã«ãäœæããéã«ç¥ã£ãŠããã¹ãããšã¯ãã¹ãŠããã«ãããŸãã

SQL ã¯ããšã³ãžãã¢ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã«æ ŒçŽãããããŒã¿ãåŠçãããããªã¬ãŒã·ã§ãã« ããŒã¿ ã¹ããªãŒã 管çã·ã¹ãã ã§ã¹ããªãŒã åŠçãè¡ãããã«äœ¿çšãããã¡ã€ã³åºæã®èšèªã§ããããŒãã«ãä»ã㊠ãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ ã«ããŒã¿ãæ ŒçŽã§ããŸãããã®ããã»ã¹ã§æåã«è¡ãããšã¯ãäœæ¥å¯Ÿè±¡ã®ããŒã¿ããŒã¹ãäœæããããšã§ããæ¬¡ã«ãå®éã®ããŒã¿ãæ ŒçŽãããããŒãã«ãäœæããŸãããã®ãããªããŒã¿ããŒã¹ã®ããŒãã«ã«ã¯ãè¡ãšåã®äž¡æ¹ããããŸãã
ååã«ã¯ãæ ŒçŽã§ããããŒã¿ã®çš®é¡ã決å®ããç¹å®ã®ããŒã¿åãé¢é£ä»ããããŠããŸããããŒãã«ã®äœæäžã«ãååã®ååãšããŒã¿åãæå®ããå¿ èŠããããŸãã MySQL ããŒã¿ããŒã¹ãš PostgreSQL ããŒã¿ããŒã¹ã®äž¡æ¹ã§ãSQL CREATE TABLE ã³ãã³ãã䜿çšããŠããŒãã«ãäœæã§ããŸãã
CREATE TABLE SQL ã¹ããŒãã¡ã³ãã詳ããèŠãŠã¿ãŸãããã
SQL ã§ããŒãã«ãäœæããã«ã¯ã©ãããã°ããã§ãã?
æ¬¡ã®æ§æã䜿çšããŠãMySQL ã§ããŒãã«ãäœæã§ããŸãã
CREATE TABLE ããŒãã«å(
column_1 data_type ããã©ã«ãå€ column_constraint ,
column_2 data_type ããã©ã«ãå€ column_constraint ,
...ã
âŠã
table_constraint
);
ããŒãã«ãäœæããéã«å¿ èŠãªåºæ¬çãªãã®ã¯ããã®ååãšå°ãªããšã 1 ã€ã®ååã§ããç¹å® ã®ããŒãã«å ãæã€ããŒã¿ããŒã¹ ããŒãã«ã¯ 1 ã€ã ãååšããå¿ èŠããããŸããåãååã®ããŒãã«ã 2 ã€äœæããããšãããšãããŒã¿ããŒã¹ãããšã©ãŒ ã¡ãã»ãŒãžã衚瀺ãããŸãã
æ¬åŒ§å ã«ãããŒãã«ã«äœæããåã®ååãšãããã«å ¥åãããããŒã¿ã®ããŒã¿åãæå®ããŸãããããã®åã®ååã¯ã³ã³ãã§åºåãããŸããåã®ååãããŒã¿åãããã©ã«ãå€ãããã³ 1 ã€ä»¥äžã®åå¶éã«ãã£ãŠãååãæ§æãããŸãã
åã®å¶çŽã¯ãåã«æ ŒçŽã§ããå®éã®ããŒã¿å€ãå¶åŸ¡ããŸããããšãã°ã NOT NULL å¶çŽã¯ããã®ç¹å®ã®åã« NULL å€ãååšããªãããšãä¿èšŒããŸãã 1 ã€ã®åã«å¯ŸããŠè€æ°ã®å¶çŽãèšå®ã§ããŸããããšãã°ãåã«ã¯ NOT NULL ãš UNIQUE ã®äž¡æ¹ã®å¶éãå«ããããšãã§ããŸãã
ããŒãã«å ã®ãã¹ãŠã®åã«å¶çŽãé©çšããå Žåã¯ãããŒãã«å¶çŽã䜿çšã§ããŸããåãäŸãšããŠã FOREIGN KEY ã CHECK ãããã³ UNIQUE ããããŸããåããŒãã«ã¯ã1 ã€ãŸãã¯è€æ°ã®åã§æ§æãããäž»ããŒãæã€ããšãã§ããŸãããã®äž»ããŒã¯ãããŒãã«ã®åã¬ã³ãŒããäžæã«èå¥ããããã«äœ¿çšãããŸããéåžžãæåã«äž»ããŒåããªã¹ãããæ¬¡ã«ä»ã®åããªã¹ãããŸãã PRIMARY KEY å¶çŽã 2 ã€ä»¥äžã®åã§æ§æãããå Žåã¯ãããŒãã«å¶çŽãšããŠå®£èšããå¿ èŠããããŸãã
äŸãèŠãŠã¿ãŸãããïŒ
ããŒãã«ã®é¡§å®¢ãäœæãã(
ID INT NOT NULLã
NAME VARCHAR (20) NOT NULL,
幎霢INT NOT NULLã
絊äžå°æ° (18, 2),
äž»ã㌠(ID)
);
ããã§ã¯ãããŒãã«ã®ååã¯ãCUSTOMERSãã§ãäž»ããŒã¯ ID ã§ãã IDãNAMEãããã³ AGE åã«ã¯ã NOT NULL ã®å¶çŽããããŸããååã®é·ã㯠20 æåæªæºã«ããå¿ èŠããããŸããããã§ãSQL CREATE TABLE ã³ãã³ãã䜿çšããŠããŒãã«ãäœæãããé¢é£ããŒã¿ããã®ããŒãã«ãšããŒã¿ããŒã¹ã«æ¿å ¥ã§ããŸãã
MySQL/PostgreSQL ã®ããŒãã«å ã«ããŒãã«ãäœæã§ããŸãã?
ããŒãã«å ã«ããŒãã«ãæã€ããšã¯ãããŒãã«ã®ãã¹ããšåŒã°ããŸãããã®ããã«ã¯ãSQL CREATE TABLE ã³ãã³ãã䜿çšããŠãå¥ã®ããŒãã«å ã«ããŒãã«ãäœæããå¿ èŠããããŸãããã㯠MySQL ã«ã¯ååšããªãæŠå¿µã§ãããã ããäž»ããŒãšå€éšããŒã䜿çšããããšã§ããã¹ãããããŒãã«ãšåãçµæãåŸãããšãã§ããŸããããã«ããã2 ã€ã®ããŒãã«éã«èŠªåé¢ä¿ãäœæãããŸãã
å¥ã®ããŒãã«ã® PRIMARY KEY ãåç §ãã 1 ã€ã®ããŒãã«å ã®ãã£ãŒã«ããŸãã¯ãã£ãŒã«ãã®ã°ã«ãŒãã¯ã FOREIGN KEY ãšåŒã°ããŸããã¡ã€ã³äž»ããŒãæã€ããŒãã«ã¯èŠªããŒãã«ãšåŒã°ããå€éšããŒãæã€ããŒãã«ã¯åããŒãã«ãšåŒã°ããŸãã
ããšãã°ãäž»ããŒã VehId ã§ãã芪ããŒãã« Vehicle ããããšããŸããããã« 2 ã€ã®ããŒãã«ããããŸããäž»ã㌠CarId ãæã€ Car ãšäž»ã㌠TruckId ãæã€ Truck ã§ãã Car ãš Truck ã®äž¡æ¹ã« VehId ãå€éšããŒãšããŠé 眮ãããšãVehicle ã芪ããŒãã«ã«ãªãã芪åé¢ä¿ãäœæãããŸãã
芪ããŒãã« è»äž¡ {VehId}
åããŒãã«
1. è» {VehId,CarId}
2. ãã©ã㯠{VehId,TruckId}
æåã«äœæããã« SQL ããŒãã«ãéžæããããšã¯å¯èœã§ãã?
ããŒã¿ããŒã¹ããããŒã¿ãéžæããã«ã¯ãSELECT ã¹ããŒãã¡ã³ãã䜿çšããŸããããããã®ããŒã¿ã¯ãçµæã»ãããšåŒã°ããçµæããŒãã«ã«ä¿æãããŸããããã¯ãããŒãã«ã®äžéšãŸãã¯ããŒãã«å šäœãéžæããããã«äœ¿çšãããŸããã³ãŒãã£ã³ã°äžã« SQL CREATE TABLE ã³ãã³ãã䜿çšããŠããŒãã«ãäœæããå ŽåãSELECT ã³ãã³ãã䜿çšããŠãäœæããããŒãã«ã衚瀺ã§ããŸãã
ãã®æ§æã¯æ¬¡ã®ããã«ãªããŸãã
å_1ãå_2ãâŠãéžæ
FROM ããŒãã«å;
ããšãã°ã次ã®ã³ãã³ãã¯ããŒãã«å šäœãéžæããŸãã
SELECT * FROM ããŒãã«å;
ã«éžæ
SELECT INTO ã¹ããŒãã¡ã³ãã䜿çšããŠãããããŒãã«ã®ããŒã¿ãå¥ã®ããŒãã«ã«è»¢éããŸããããããŒãã«ã®ãã¹ãŠã®åãå¥ã®ããŒãã«ã«ã³ããŒã§ããŸããããã¯éåžžãããŒã¿ã®ã³ããŒå ã®ããŒãã«ãæ¢ã«ååšããå Žåã«äœ¿çšãããŸãã
ããŒãã«ã®ãã¹ãŠã®åãéžæããã«ã¯:
éžæãã *
INTO new_table [IN externaldb]
FROM old_table
WHERE æ¡ä»¶;
æ°ããããŒãã«ã«ããã€ãã®åã®ã¿ãéžæããã«ã¯:
SELECT column_1ãcolumn_2ãcolumn_3ã...
INTO new_table [IN externaldb]
FROM old_table
WHERE æ¡ä»¶;
ã§ã¯ãSQL CREATE TABLE ã§ãŸã ããŒãã«ãäœæããŠããªãå ŽåãããŒãã«ãéžæã§ããŸãã?
è«ççã«ã¯ãçãã¯ããŒã§ããã¹ãã§ããããããããã¯åœãŠã¯ãŸããŸãããããŒãã«ããŸã äœæããŠããªããŠããããŒãã«ãéžæã§ããŸããããŒãã«ã圢æããå¿ èŠããããããããŒãã«ã®ããŒã¿ãæ°ããçæãããããŒãã«ã«è»¢éããå¿ èŠãããå Žåããã®ã¢ãããŒããå©çšãããŸããéžæããåãšåãããŒã¿åã䜿çšããŠãæ°ããããŒãã«ãçæãããŸãã
SQL ã§è£œåããŒãã«ãäœæããã«ã¯ã©ãããã°ããã§ãã?
SQL ã®è£œåããŒãã«ã¯ãããŸããŸãªæ¹æ³ã§äœæã§ããŸãã SQL CREATE TABLE ã¹ããŒãã¡ã³ãã䜿çšããããšã 1 ã€ã®ãªãã·ã§ã³ã§ããè£œåæ å ±ã¯ããã®ã¹ããŒãã¡ã³ããäœæããããŒãã«ã«å«ãŸããŸãã SELECT ã³ãã³ãã䜿çšããŠãããŒãã«ããããŒã¿ã衚瀺ããã³ååŸããããšãã§ããŸãããããã®äž¡æ¹ã®æ§æã¯äžèšã§èª¬æãããŠããŸãã
INSERT ã³ãã³ãã䜿çšããŠãæ°ããããŒã¿ãããŒãã«ã«æ¿å ¥ããããšãã§ããŸãã INSERT ã¹ããŒãã¡ã³ãã®ãããã§ãããŒã¿ã¯æå®ãããäœçœ®ã®ããŒãã«ã«æ¿å ¥ãããŸããããŒã¿ã¯ãSELECT ã¯ãšãªã䜿çšããŠããŒãã«ããåãåºããINSERT ã¹ããŒãã¡ã³ãã䜿çšããŠå¥ã®ããŒãã«ã«è¿œå ããããšãã§ããŸãã
ã«æ¿å ¥
INSERT INTO ã¹ããŒãã¡ã³ãã䜿çšããŠãæ°ããã¬ã³ãŒããããŒãã«ã«è¿œå ããŸãã INSERT ã¹ããŒãã¡ã³ãã®æ§æã¯æ¬¡ã®ãšããã§ãã
INSERT INTO ããŒãã«å (å 1ãå 2ã...)
å€ (å€_1ãå€_2ã...);
補åããŒãã«ã®éãã¯ããã¶ã€ã³é¢ã®ã¿ã§ãã補åã®ååãã¢ãã«ãã¯ã©ã¹ãã¢ãã«ã®å¹Žãããã³å®äŸ¡ã¯ãã¹ãŠè£œåããŒã¿ããŒã¹ã«ä¿åãããŸãããã¹ãŠã®ã¢ã€ãã ã¯ããã©ã³ã ID åã§èå¥ããããã©ã³ãã®äžéšã§ãããããã£ãŠããã©ã³ã㯠1 ã€ãŸãã¯è€æ°ã®è£œåãæã€ããšãã§ããŸããå補åã¯ãããŒãã«å ã®ã«ããŽãª ID ã«ãã£ãŠèå¥ãããã«ããŽãªã®ã¡ã³ããŒã§ãã
SQL ããŒã¿ããŒã¹ã«é©ããããŒã¿ã®çš®é¡ã¯äœã§ãã?
SQL CREATE TABLE ã³ãã³ãã䜿çšãããšãã¯ãåã®ããŒã¿åã«ã€ããŠèšåããå¿ èŠããããŸããåã«å«ããããšãã§ããããŒã¿ã¯ããã®ããŒã¿åã«ãã£ãŠç°ãªããŸããäŸã«ã¯ãæŽæ°ãæåããã€ããªãæ¥ä»ãšæå»ãªã©ãå«ãŸããŸããããŒã¿ããŒã¹ ããŒãã«ã«ã¯ããã¹ãŠã®åã®ååãšããŒã¿åãå¿ èŠã§ãã
ããŒãã«ãäœæãããšããSQL ããã°ã©ããŒã¯ãååã«å«ãŸããããŒã¿ã®çš®é¡ã決å®ããå¿ èŠããããŸããããŒã¿åã¯ãSQL ãæ ŒçŽãããããŒã¿ãšã©ã®ããã«ããåãããããæå®ããŸããååå ã§äºæ³ãããããŒã¿ã®çš®é¡ã倿ããã®ã«åœ¹ç«ã¡ãŸãã MySQL 8.0 ã® 3 ã€ã®äž»èŠãªããŒã¿åã¯ãæååãæ°å€ãããã³æ¥ä»ãšæå»ã§ãã
æååããŒã¿å
æååããŒã¿åã¯ãéåžžãè±èªã®ã¢ã«ãã¡ãããã«å±ããäžé£ã®æåã§ããäž»ãªæååããŒã¿åã¯æ¬¡ã®ãšããã§ãã
- CHAR(ãµã€ãº)
- VARCHAR(ãµã€ãº)
- BINARY(ãµã€ãº)
- VARBINARY(ãµã€ãº)
- å°ããªå¡
- å°ããªããã¹ã
- æåãµã€ãºïŒ
- BLOB(ãµã€ãº)
- äžæ
- ããã£ã¢ã ããã
- ãã³ã°ããã¹ã
- ãã³ã°ããã
- ENUM(val_1, val_2, val_3, ...)
- SET(å€ 1ãå€ 2ãå€ 3ã...)
ããã§ã SIZE ã¯ãæ ŒçŽãããããŒã¿ãåãåŸãæå€§ãµã€ãºã衚ããŸãã CHAR ã¯åºå®é·ã®æååã§ããã VARCHAR ã¯å¯å€é·ã®æååã§ãããããã¯ãæããã䜿çšãããæååããŒã¿åã§ãã BLOB ã¯ãã€ã㪠ã©ãŒãž ãªããžã§ã¯ãã§ãã
æ°å€ããŒã¿å
æ°å€ããŒã¿å倿°ã¯ãæ°å€ããŒã¿ãä¿æããããã«äœ¿çšãããŸãããããã¯ããã«ãæ£ç¢ºãªããŒã¿åãšè¿äŒŒçãªããŒã¿åã® 2 çš®é¡ã«åé¡ãããŸããæ£ç¢ºãªããŒã¿åã¯ãããŒã¿å€ããªãã©ã«åœ¢åŒã§ä¿æããããã«äœ¿çšãããŸãã宿°ã¯è¿äŒŒããŒã¿åã«å«ãŸããŠããŸãããæ å ±ã¯å®éã®å€ã®ã³ããŒãšããŠæåéãä¿åãããããã§ã¯ãããŸãããäž»ãªæ°å€ããŒã¿åã¯æ¬¡ã®ãšããã§ãã
- ããã(ãµã€ãº)\
- TINYINT(ãµã€ãº)
- ããŒã«
- ããŒã«å€
- SMALLINT(ãµã€ãº)
- ããã£ã¢ã ãã³ã(ãµã€ãº)
- INT(ãµã€ãº)
- INTEGER(ãµã€ãº)
- BIGINT(ãµã€ãº)
- FLOAT(ãµã€ãº, d)
- FLOAT(p)
- DOUBLE(ãµã€ãº, d)
- DOUBLE PRECISION(ãµã€ãº, d)
- DECIMAL(ãµã€ãº, d)
- DEC(ãµã€ãº, d)
æãäžè¬çã«äœ¿çšãããæ°å€ããŒã¿å㯠INT ã§ããé 10 鲿°ãä¿æããããã«äœ¿çšãããŸãããããŒã¿åã FLOAT ã®å€æ°ã¯ 10 鲿°ãä¿æããããã«äœ¿çšãããŸãã BOOL ããŒã¿åã§ã¯ããŒã㯠FALSE ãšèŠãªããããŒã以å€ã®å€ã¯ TRUE ãšèŠãªãããŸãã
æ¥æ
æ¥ä»ãšæå»ã®ããŒã¿åã¯ãæ¥ä»ããŒã¿ãä¿æããããã«äœ¿çšãããŸããäž»ãªæ¥ä»ãšæå»ã®ããŒã¿åã¯æ¬¡ã®ãšããã§ãã
- æ¥ã«ã¡
- DATETIME(fsp)
- ã¿ã€ã ã¹ã¿ã³ã(fsp)
- æé(fsp)
- 幎
SQL ãµãŒããŒã®ããŒã¿åã¯äžèšã®ããŒã¿åã«äŒŒãŠããŸãããæ§æãå°ãç°ãªããŸãã
SQL ãµãŒããŒã®å€æ°ã®çš®é¡ã¯äœã§ãã?
MS SQL ãµãŒããŒã«ã¯ã次㮠2 ã€ã®ã«ããŽãªã®å€æ°ãååšããŸãã
ããŒã«ã«å€æ°
ãŠãŒã¶ãŒãããŒã«ã«å€æ°ã宣èšããŸããåžžã« @ ã§å§ãŸããŸããåããŒã«ã«å€æ°ã®ã¹ã³ãŒãã¯ãç¹å®ã®ã»ãã·ã§ã³å ã§çŸåšå®è¡ãããŠããããããŸãã¯ããã»ã¹ã«å¶éãããŸãã Transact-SQL ããŒã«ã«å€æ°ã¯ãç¹å®ã® 1 çš®é¡ã®ããŒã¿å€ã®ã¿ãæ ŒçŽã§ããäžçš®ã®ãªããžã§ã¯ãã§ããã¹ã¯ãªãããšãããã¯å€æ°ãé »ç¹ã«äœ¿çšããŸãã
- ã«ãŒãã®ç¹°ãè¿ãçã管çããããããŸãã¯ã«ãŒããå®è¡ãããåæ°ã远跡ããããã®ã«ãŠã³ã¿ãŒãšããŠã
- ãããŒå¶åŸ¡ãã§ãã¯ãééããããŒã¿å€ãæ ŒçŽããŸãã
- 颿°ã®æ»ãå€ãè¿ãããŒã¿å€ãä¿æããŸãã
ã°ããŒãã«å€æ°
ã·ã¹ãã ã¯ã°ããŒãã«å€æ°ãç¶æããŸãããŠãŒã¶ãŒã¯ããããå ¬éã§ããŸããã @@ ã¯ãã°ããŒãã«å€æ°ãå§ãŸãå Žæã§ããã»ãã·ã§ã³ã«é¢ããããŒã¿ãä¿æããŸãã
倿°ã®å®£èš
ããããŸãã¯ããã»ã¹ã§äœ¿çšããåã«å€æ°ãå®çŸ©ããŠãããšåœ¹ç«ã¡ãŸããã¡ã¢ãªäœçœ®çœ®æå€æ°ã¯ãDECLARE ã³ãã³ãã䜿çšããŠå®£èšãããŸãã倿°ã¯ãåŸç¶ã®ããããŸãã¯ããã·ãŒãžã£ ã¹ãããã§å®£èšãããåŸã«ã®ã¿äœ¿çšã§ããŸãã
倿°ã宣èšãã TSQL æ§æã¯æ¬¡ã®ããã«ãªããŸãã
DECLARE { @LOCAL_VARIABLE[AS] ããŒã¿å [ = å€ ] }
ããã°ã©ããŒã¯ãæ¬¡ã®æ¹æ³ã§å®çŸ©æžã¿å€æ°ã®å€ã決å®ããããšãã§ããŸãã
- DECLAREããŒã¯ãŒãã«ãã倿°å®£èšäž
- ã»ããã®äœ¿çš
- éžæã®äœ¿çš
SQL ã§ããŒã¿åãéèŠãªã®ã¯ãªãã§ãã?
ããŒã¿åã¯ãC ãªã©ã®ããã°ã©ãã³ã°èšèªã§ããããšãSQL ãªã©ã®ããŒã¿æäœèšèªã§ããããšãã³ãŒãã£ã³ã°èšèªã®éèŠãªã³ã³ããŒãã³ãã® 1 ã€ã§ããå®éãSQL ã¯ãããŸããŸãªåœ¢åŒã®å®éã®ããŒã¿ãæ ŒçŽã§ãã 30 ãè¶ ããããŒã¿åããµããŒãããŠããŸããããŒã¿ã®åŠçãéå§ããåã«ãããŸããŸãª SQL ããŒã¿åããã£ãããšææ¡ããŠããããšããå§ãããŸãã
ããŒãã«ãªã©ã®ããŒã¿ããŒã¹ ãªããžã§ã¯ãã«ä¿æã§ããæ å ±ã®çš®é¡ã¯ãSQL ããŒã¿åã«ãã£ãŠæå®ãããŸããããŒãã«ã®ãã¹ãŠã®åã«ã¯ååãšããŒã¿åãããããã¹ãŠã®ããŒãã«ã«ã¯åããããŸãããããã䜿çšããã«ããŒã¿ãæäœããããšã¯ã§ããªãããããããã¯ããããèšèªã®ããã¯ããŒã³ã圢æããŸãã
ãã¹ãŠã®ããŒã¿åãããŒã¿ããŒã¹ ã·ã¹ãã ã§ãµããŒããããŠããããã§ã¯ãªãããšã«æ³šæããŠãã ããããããã£ãŠãç¹å®ã®ããŒã¿åã䜿çšããåã«ç¢ºèªããå¿ èŠããããŸããããšãã°ããã®ããŒã¿åãèš±å¯ãããŠããªããããOracle ã§ DateTime ã䜿çšããããšã¯ã§ããŸããã
åæ§ã«ãMySQL ã¯ããŒã¿åãšã㊠Unicode ã䜿çšããŸãããç¹å®ã®ããŒã¿ããŒã¹ãæã€è¿œå ã®ããŒã¿åã䜿çšã§ããŸããããšãã°ãMicrosoft SQL Server ã®ãmoneyããšãsmallmoneyãã¯ãfloatããšãrealãã®ä»£ããã«äœ¿çšã§ããŸããããããã®çšèªã¯ããŒã¿ããŒã¹åºæã®ãã®ã§ãããä»ã®ããŒã¿ããŒã¹ ã·ã¹ãã ã«ã¯ååšããŸãããäžéšã®ããŒã¿ããŒã¹ã§ã¯ãç¹å®ã®ããŒã¿åãããŸããŸãªååã§åç §ãããããšããããŸããããšãã°ãOracle ã§ã¯ãã10 鲿°ãããæ°å€ããšåŒã³ããããããããçããšåŒã³ãŸãã
è€æ°ã®ããŒãã«ãåãäž»ããŒãæã€ããšã¯ã§ããŸãã?
ã¯ããããã€ãã®ããŒãã«ã§ã¯ãäž»ããŒãåãååãå ±æã§ããŸããããŒãã«å ã§ã¯ãååã¯åºå¥ããå¿ èŠããããŸãããšã³ãã£ãã£ã®æŽåæ§ã決å®ãããããããŒãã«ã«ã¯äž»ããŒã 1 ã€ã ãå«ããããšãã§ããŸãããã¹ãŠã®ããŒãã«ã«ã¯äž»ããŒãå«ãŸããå ŽåããããŸãããå¿ é ã§ã¯ãããŸããã 1 ã€ãŸãã¯è€æ°ã®åãäž»ããŒãšããŠæå®ãããŠããããã2 ã€ã®è¡ãåãäž»ããŒãå ±æããããšã¯ãããŸããã 1 ã€ã®ããŒãã«ã®äž»ããŒã䜿çšããŠãå¥ã®ããŒãã«ã®ã¬ã³ãŒããèå¥ãã2 çªç®ã®ããŒãã«ã®äž»ããŒã®äžéšã«ããããšãã§ããŸãã
äž»ããŒã§ãorder byãã䜿çšããã«ã¯ã©ãããã°ããã§ãã?
ORDER BY ã³ãã³ãã䜿çšããŠããœãŒããããçµæã»ãããååŸã§ããŸããããã¯ãæé ãŸãã¯éé ã®ããããã§ããéåžžãã¬ã³ãŒã㯠ORDER BY ããŒã¯ãŒãã䜿çšããŠæé ã«äžŠã¹æ¿ããããŸãã DESC ããŒã¯ãŒãã䜿çšããŠããšã³ããªãéé ã«äžŠã¹æ¿ããããšãã§ããŸãã
order ã®æ§æã¯æ¬¡ã®ããã«ãªããŸãã
SELECT column_1ãcolumn_2ã...
FROM ããŒãã«å
ORDER BY column_1ãcolumn_2ã... ASC|DESC;
ããšãã°ãUsers ãšããããŒãã«ããããšããŸãããŠãŒã¶ãŒã®éœåžã«åºã¥ããŠãæé ãŸãã¯éé ã§äžŠã¹æ¿ããããšãã§ããŸãã
SELECT * FROM ãŠãŒã¶ãŒ
ORDER BY éœåž;
åããã®ãéé ã§äžŠã¹æ¿ããã«ã¯:
SELECT * FROM ãŠãŒã¶ãŒ
åžåºçºæã§æ³šæ DESC;
äž»ããŒã® ORDER BY
ãRollIDããªã©ãäž»ããŒã®ååã«éåžžã©ãã ORDER BY ã䜿çšããã ãã§ãã
SELECT * FROM my_table WHERE col_1 < 5 ORDER BY RollID;
ã¯ãšãª ãªããã£ãã€ã¶ãŒã¯ãã¯ãšãªã®è©äŸ¡æ¹æ³ã«åºã¥ããŠãã¯ãšãªçµæã»ããã«å¯ŸããŠã¢ã¯ãã£ããªäžŠã¹æ¿ããå®è¡ããã®ã§ã¯ãªããäž»ã㌠ã€ã³ããã¯ã¹æ§é ã䜿çšããŠäžŠã¹æ¿ããåæããããšã決å®ããå Žåãšããªãå ŽåããããŸãã
ORDER BY å¥ã®ãªãåäžããŒãã« ã¯ãšãªã®å€§éšåã¯ããã©ã€ã㪠ããŒã®é åºã§çµæãè¿ããŸããããã¯ãMySQL InnoDB ããã€ãã£ãã®ãã©ã€ã㪠ããŒã®é åºã«è¿ãæ¹æ³ã§ããŒãã«ãæ ŒçŽããããã§ãããã ããã¢ããªã±ãŒã·ã§ã³ã§æ¬åœã«äž»ããŒã®é åºä»ããå¿ èŠãªå Žåã¯ãORDER BY ãå©çšã§ããŸãã
ã³ãŒãéçºãªã
ããŒã³ãŒãéçº æ¹æ³è«ã¯ãã³ãŒãã£ã³ã°ã®æ°äž»åãä¿é²ããäž»ãªèŠå ã® 1 ã€ã§ããæè¿ã§ã¯ãã³ãŒãã£ã³ã°ããŸã£ããç¥ããªããŠããååãšããŠã³ã³ãã¥ãŒãã£ã³ã°ã«ã¢ã¯ã»ã¹ã§ãã人ãå¢ããŠããŸããã¬ã¹ãã³ã·ã Web ãµã€ããã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã容æã«ããŸãã

AppMaster ã¯ããœãŒã¹ ã³ãŒããèªåçã«çæããã®ã«åœ¹ç«ã¡ãŸããã³ãŒãã¯ãã€ã§ã衚瀺ããŠèª¿ã¹ãããšãã§ããŸãã AppMaster ã§ããã°ã©ãã³ã°èšèªã䜿çšããŠããããžã§ã¯ãã®è©³çްã倿Žããããšãã§ããŸãããŸããã³ãŒãããšã¯ã¹ããŒããããªãã·ã§ã³ãæäŸããŠããŸããããã¯ãAppMaster ã§éçºããŠãããœãããŠã§ã¢ãå®å šã«ããªãã®ç®¡çãšæææš©ã®ç¯å²å ã«ãããšããçŽæã§ãã
çµè«
SQL ã«ã¯ãéåžžã«é åçãªã¢ããªã±ãŒã·ã§ã³ãããã€ããããŸããããŒã¿çµ±åã¹ã¯ãªããã®äœæãåæã¯ãšãªã®èšèšãšå®è¡ãæŽå¯ãšãã©ã³ã¶ã¯ã·ã§ã³åŠçã®ããã®ããŒã¿ããŒã¹ããã®ããŒã¿ã®ãµãã»ãããžã®ã¢ã¯ã»ã¹ã¯ããã®æãé¡èãªç®çã®äžéšã§ãããŸããããŒã¿ããŒã¹å ã®ããŒã¿ã®è¡ãšåã®æ¿å ¥ã倿Žãããã³åé€ã«ã䜿çšã§ããŸãã
SQL ã®è©³çްã«å ¥ãåã«ããã®åºæ¬çãªã³ãã³ããšæ§æã«æ £ããå¿ èŠããããŸããäžèšã®èšäºãèªãããšã§ãCREATE TABLEãINSERT INTOãSELECT ãªã©ãSQL ã§äœ¿çšãããåºæ¬çãªã¹ããŒãã¡ã³ãã«ã€ããŠè©³ããç¥ãããšãã§ããŸãã


