This commit is contained in:
PC60087232\USER
2026-09-28 07:39:02 +09:00
parent 55f84f2b68
commit a2236aae21
58 changed files with 6191 additions and 1 deletions

View File

@@ -0,0 +1,649 @@
<!DOCTYPE html>
<html>
<head>
<title>MySQL SQL問題集2</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<style>
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
body {
font-family: "Segoe WPC", "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
font-size: 14px;
padding: 0 12px;
line-height: 22px;
word-wrap: break-word;
}
#code-csp-warning {
position: fixed;
top: 0;
right: 0;
color: white;
margin: 16px;
text-align: center;
font-size: 12px;
font-family: sans-serif;
background-color:#444444;
cursor: pointer;
padding: 6px;
box-shadow: 1px 1px 1px rgba(0,0,0,.25);
}
#code-csp-warning:hover {
text-decoration: none;
background-color:#007acc;
box-shadow: 2px 2px 2px rgba(0,0,0,.25);
}
body.scrollBeyondLastLine {
margin-bottom: calc(100vh - 22px);
}
body.showEditorSelection .code-line {
position: relative;
}
body.showEditorSelection .code-active-line:before,
body.showEditorSelection .code-line:hover:before {
content: "";
display: block;
position: absolute;
top: 0;
left: -12px;
height: 100%;
}
body.showEditorSelection li.code-active-line:before,
body.showEditorSelection li.code-line:hover:before {
left: -30px;
}
.vscode-light.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(0, 0, 0, 0.15);
}
.vscode-light.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(0, 0, 0, 0.40);
}
.vscode-dark.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(255, 255, 255, 0.4);
}
.vscode-dark.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(255, 255, 255, 0.60);
}
.vscode-high-contrast.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(255, 160, 0, 0.7);
}
.vscode-high-contrast.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(255, 160, 0, 1);
}
img {
max-width: 100%;
max-height: 100%;
}
a {
color: #4080D0;
text-decoration: none;
}
a:focus,
input:focus,
select:focus,
textarea:focus {
outline: 1px solid -webkit-focus-ring-color;
outline-offset: -1px;
}
hr {
border: 0;
height: 2px;
border-bottom: 2px solid;
}
h1 {
padding-bottom: 0.3em;
line-height: 1.2;
border-bottom-width: 1px;
border-bottom-style: solid;
}
h1, h2, h3 {
font-weight: normal;
}
h1 code,
h2 code,
h3 code,
h4 code,
h5 code,
h6 code {
font-size: inherit;
line-height: auto;
}
a:hover {
color: #4080D0;
text-decoration: underline;
}
table {
border-collapse: collapse;
}
table > thead > tr > th {
text-align: left;
border-bottom: 1px solid;
}
table > thead > tr > th,
table > thead > tr > td,
table > tbody > tr > th,
table > tbody > tr > td {
padding: 5px 10px;
}
table > tbody > tr + tr > td {
border-top: 1px solid;
}
blockquote {
margin: 0 7px 0 5px;
padding: 0 16px 0 10px;
border-left: 5px solid;
}
code {
font-family: Menlo, Monaco, Consolas, "Droid Sans Mono", "Courier New", monospace, "Droid Sans Fallback";
font-size: 14px;
line-height: 19px;
}
body.wordWrap pre {
white-space: pre-wrap;
}
.mac code {
font-size: 12px;
line-height: 18px;
}
pre:not(.hljs),
pre.hljs code > div {
padding: 16px;
border-radius: 3px;
overflow: auto;
}
/** Theming */
.vscode-light,
.vscode-light pre code {
color: rgb(30, 30, 30);
}
.vscode-dark,
.vscode-dark pre code {
color: #DDD;
}
.vscode-high-contrast,
.vscode-high-contrast pre code {
color: white;
}
.vscode-light code {
color: #A31515;
}
.vscode-dark code {
color: #D7BA7D;
}
.vscode-light pre:not(.hljs),
.vscode-light code > div {
background-color: rgba(220, 220, 220, 0.4);
}
.vscode-dark pre:not(.hljs),
.vscode-dark code > div {
background-color: rgba(10, 10, 10, 0.4);
}
.vscode-high-contrast pre:not(.hljs),
.vscode-high-contrast code > div {
background-color: rgb(0, 0, 0);
}
.vscode-high-contrast h1 {
border-color: rgb(0, 0, 0);
}
.vscode-light table > thead > tr > th {
border-color: rgba(0, 0, 0, 0.69);
}
.vscode-dark table > thead > tr > th {
border-color: rgba(255, 255, 255, 0.69);
}
.vscode-light h1,
.vscode-light hr,
.vscode-light table > tbody > tr + tr > td {
border-color: rgba(0, 0, 0, 0.18);
}
.vscode-dark h1,
.vscode-dark hr,
.vscode-dark table > tbody > tr + tr > td {
border-color: rgba(255, 255, 255, 0.18);
}
.vscode-light blockquote,
.vscode-dark blockquote {
background: rgba(127, 127, 127, 0.1);
border-color: rgba(0, 122, 204, 0.5);
}
.vscode-high-contrast blockquote {
background: transparent;
border-color: #fff;
}
</style>
<style>
/* Tomorrow Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* Tomorrow Comment */
.hljs-comment,
.hljs-quote {
color: #8e908c;
}
/* Tomorrow Red */
.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
color: #c82829;
}
/* Tomorrow Orange */
.hljs-number,
.hljs-built_in,
.hljs-builtin-name,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
color: #f5871f;
}
/* Tomorrow Yellow */
.hljs-attribute {
color: #eab700;
}
/* Tomorrow Green */
.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
color: #718c00;
}
/* Tomorrow Blue */
.hljs-title,
.hljs-section {
color: #4271ae;
}
/* Tomorrow Purple */
.hljs-keyword,
.hljs-selector-tag {
color: #8959a8;
}
.hljs {
display: block;
overflow-x: auto;
color: #4d4d4c;
padding: 0.5em;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}
</style>
<style>
/*
* Markdown PDF CSS
*/
body {
font-family: "Meiryo", "Segoe WPC", "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
}
pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
border-radius: 3px;
overflow-x: auto;
white-space: pre-wrap;
overflow-wrap: break-word;
}
pre:not(.hljs) {
padding: 23px;
line-height: 19px;
}
blockquote {
background: rgba(127, 127, 127, 0.1);
border-color: rgba(0, 122, 204, 0.5);
}
.emoji {
height: 1.4em;
}
/* for inline code */
:not(pre):not(.hljs) > code {
color: #C9AE75; /* Change the old color so it seems less like an error */
font-size: inherit;
}
/* Page Break : use <div class="page"/> to insert page break
-------------------------------------------------------- */
.page {
page-break-after: always;
}
</style>
</head>
<body>
<h1>MySQL SQL問題集 part2</h1>
<p><strong>SQL応用</strong></p>
<p><a href="../Question1/MySQL_Questions1.html">MySQL SQL問題集 part1</a></p>
<h2><strong>問1 テーブル作成</strong></h2>
<p>図のようなテーブルを作成して、データを登録してください。</p>
<h3>テーブル名</h3>
<p><strong>item_category</strong></p>
<h3>カラム</h3>
<table>
<thead>
<tr>
<th style="text-align:left">物理カラム名</th>
<th style="text-align:center">論理カラム名</th>
<th style="text-align:center">型</th>
<th style="text-align:center">主キー</th>
<th style="text-align:center">NOT NULL</th>
<th style="text-align:center">その他</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">category_id</td>
<td style="text-align:center">カテゴリID</td>
<td style="text-align:center">INT</td>
<td style="text-align:center">〇</td>
<td style="text-align:center"></td>
<td style="text-align:center">自動採番</td>
</tr>
<tr>
<td style="text-align:left">category_name</td>
<td style="text-align:center">カテゴリ名</td>
<td style="text-align:center">VARCHAR(256)</td>
<td style="text-align:center"></td>
<td style="text-align:center">〇</td>
<td style="text-align:center"></td>
</tr>
<tr>
<td style="text-align:left"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図1.png" alt="図1"></p>
<h2><strong>問2 テーブル作成</strong></h2>
<p>図のようなテーブルを作成して、データを登録してください。</p>
<h3>テーブル名</h3>
<p><strong>items</strong></p>
<h3>カラム</h3>
<table>
<thead>
<tr>
<th style="text-align:left">物理カラム名</th>
<th style="text-align:center">論理カラム名</th>
<th style="text-align:center">型</th>
<th style="text-align:center">主キー</th>
<th style="text-align:center">外部キー</th>
<th style="text-align:center">NOT NULL</th>
<th style="text-align:center">その他</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">item_id</td>
<td style="text-align:center">アイテムID</td>
<td style="text-align:center">INT</td>
<td style="text-align:center">〇</td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center">自動採番</td>
</tr>
<tr>
<td style="text-align:left">name</td>
<td style="text-align:center">アイテム名</td>
<td style="text-align:center">VARCHAR(256)</td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center">〇</td>
<td style="text-align:center"></td>
</tr>
<tr>
<td style="text-align:left">price</td>
<td style="text-align:center">価格</td>
<td style="text-align:center">INT</td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center">〇</td>
<td style="text-align:center"></td>
</tr>
<tr>
<td style="text-align:left">category_id</td>
<td style="text-align:center">カテゴリID</td>
<td style="text-align:center">INT</td>
<td style="text-align:center"></td>
<td style="text-align:center">item_categoryのcategory_id</td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
</tr>
<tr>
<td style="text-align:left"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
<td style="text-align:center"></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図2.png" alt="図2"></p>
<h2><strong>問3 SELECT文作成</strong></h2>
<p>図のような検索結果になるSQLを作成してください。</p>
<table>
<thead>
<tr>
<th style="text-align:left">条件</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">itemsテーブルとitem_categoryテーブルを結合</td>
</tr>
<tr>
<td style="text-align:left">category_idのカラムは一個だけしか出さないこと</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図3.png" alt="図3"></p>
<p>※A5SQLを使用した場合は図と同じ表示になりません。その場合、一番右側のカラム名はname_1で構いません。</p>
<h2><strong>問4 SELECT文作成</strong></h2>
<p>図のような検索結果になるSQLを作成してください。</p>
<table>
<thead>
<tr>
<th style="text-align:left">条件</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">priceを低い⇒高いに並びかえる</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図4.png" alt="図4"></p>
<p>※A5SQLを使用した場合は図と同じ表示になりません。その場合、一番右側のカラム名はname_1で構いません。</p>
<h2><strong>問5 SELECT文作成</strong></h2>
<p>図のような検索結果になるSQLを作成してください。</p>
<table>
<thead>
<tr>
<th style="text-align:left">条件</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">カテゴリが家具のデータのみ抽出</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図5.png" alt="図5"></p>
<p>※A5SQLを使用した場合は図と同じ表示になりません。その場合、一番右側のカラム名はname_1で構いません。</p>
<h2><strong>問6 SELECT文作成</strong></h2>
<p>図のような検索結果になるSQLを作成してください。</p>
<table>
<thead>
<tr>
<th style="text-align:left">条件</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">金額が1,000円から50,000円のものだけ抽出</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図6.png" alt="図6"></p>
<p>※A5SQLを使用した場合は図と同じ表示になりません。その場合、一番右側のカラム名はname_1で構いません。</p>
<h2><strong>問7 SELECT文作成</strong></h2>
<p>図のような検索結果になるSQLを作成してください。</p>
<table>
<thead>
<tr>
<th style="text-align:left">条件</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">itemsのレコード数を抽出</td>
</tr>
<tr>
<td style="text-align:left">別名をつけて抽出</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図7.png" alt="図7"></p>
<h2><strong>問8 SELECT文作成</strong></h2>
<p>図のような検索結果になるSQLを作成してください。</p>
<table>
<thead>
<tr>
<th style="text-align:left">条件</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">items内の一番価格が高いレコードを抽出</td>
</tr>
<tr>
<td style="text-align:left">サブクエリを使うこと</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図8.png" alt="図8"></p>
<p>※A5SQLを使用した場合は図と同じ表示になりません。その場合、一番右側のカラム名はname_1で構いません。</p>
<h2><strong>問9 SELECT文作成</strong></h2>
<p>図のような検索結果になるSQLを作成してください。</p>
<table>
<thead>
<tr>
<th style="text-align:left">条件</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">nameから「の」を含むものだけ抽出</td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
<p><img src="../img/question2/図9.png" alt="図9"></p>
<p>※A5SQLを使用した場合は図と同じ表示になりません。その場合、一番右側のカラム名はname_1で構いません。</p>
</body>
</html>

View File

@@ -0,0 +1,214 @@
# A5:ER FORMAT:13
# A5:ER ENCODING:UTF8
# A5:ER Mk-1 Copyright (C)2007 m.matsubara
# A5:SQL Mk-2 Copyright (C)1997 m.matsubara
# https://a5m2.mmatsubara.com
[Manager]
ProjectName=
Author=
MaxEntityRowShow=1000
ReadOnlyRecommend=0
Page=Main
PageInfo="Main",2,"A3Landscape",$FFFFFF
LogicalView=1
DecodeDomain=0
ViewModePageIndividually=1
ViewMode=2
ViewFormat=0
UseNondependenceDashLine=0
FontName=Tahoma
FontSize=6
PaperSize=A4Landscape
HeaderLeft=
HeaderCenter=
HeaderRight=
FooterLeft=
FooterCenter=
FooterRight=
ShowPageoutRelation=1
DefaultPkName=%0:s_PKC
DefaultPkIndexName=%0:s_PKI
DefaultIndexName=%0:s_IX%1:d
DefaultFkName=%0:s_FK%1:d
SqlSeparator=0
ShowTag=1
ShowCommonAttributes=0
[Entity]
PName=item_category
LName=カテゴリテーブル
Comment=
TableOption=
Page=Main
Left=50
Top=50
Field="カテゴリID","category_id","int auto_increment","NOT NULL",0,"","",$FFFFFFFF,""
Field="カテゴリ名","name","varchar(256)","NOT NULL",,"","",$FFFFFFFF,""
Field="削除フラグ","is_del","char(1)","NOT NULL",,"\q0\q","0:未削除、1:削除済",$FFFFFFFF,""
EffectMode=None
Color=$000000
BkColor=$FFFFFF
Position="Main",50,50
ZOrder=8
[Entity]
PName=items
LName=商品テーブル
Comment=
TableOption=
Page=Main
Left=350
Top=50
Field="商品ID","item_id","int auto_increment","NOT NULL",0,"","",$FFFFFFFF,""
Field="商品名","name","varchar(255)","NOT NULL",,"","",$FFFFFFFF,""
Field="価格","price","int","NOT NULL",,"","",$FFFFFFFF,""
Field="カテゴリID","category_id","int",,,"","",$FFFFFFFF,""
Field="販売有無","is_sale","char(1)","NOT NULL",,"\q1\q","1:販売中、0:販売無",$FFFFFFFF,""
Field="削除フラグ","is_del","char(1)","NOT NULL",,"\q0\q","0:未削除、1:削除済",$FFFFFFFF,""
Index=fk_categoryid=0,category_id
EffectMode=None
Color=$000000
BkColor=$FFFFFF
Position="Main",350,50
ZOrder=7
[Entity]
PName=order_items
LName=注文商品テーブル
Comment=
TableOption=
Page=Main
Left=650
Top=50
Field="注文ID","order_id","int","NOT NULL",0,"","",$FFFFFFFF,""
Field="商品ID","item_id","int","NOT NULL",1,"","",$FFFFFFFF,""
Field="注文数","quantity","int",,,"","",$FFFFFFFF,""
Index=fk_itemid=0,item_id
EffectMode=None
Color=$000000
BkColor=$FFFFFF
Position="Main",650,50
ZOrder=6
[Entity]
PName=orders
LName=注文テーブル
Comment=
TableOption=
Page=Main
Left=950
Top=50
Field="注文ID","order_id","int auto_increment","NOT NULL",0,"","",$FFFFFFFF,""
Field="ユーザID","user_id","int","NOT NULL",,"","",$FFFFFFFF,""
Field="注文日時","order_time","datetime","NOT NULL",,"","",$FFFFFFFF,""
Field="削除フラグ","is_del","char(1)","NOT NULL",,"\q0\q","0:未削除、1:削除済",$FFFFFFFF,""
Index=fk_userid=0,user_id
EffectMode=None
Color=$000000
BkColor=$FFFFFF
Position="Main",950,50
ZOrder=5
[Entity]
PName=users
LName=ユーザテーブル
Comment=
TableOption=
Page=Main
Left=1250
Top=50
Field="ユーザID","user_id","int auto_increment","NOT NULL",0,"","",$FFFFFFFF,""
Field="ユーザ名","name","varchar(15)","NOT NULL",,"","",$FFFFFFFF,""
Field="パスワード","password","varchar(50)","NOT NULL",,"","",$FFFFFFFF,""
Field="年齢","age","int",,,"","",$FFFFFFFF,""
Field="削除フラグ","is_del","char(1)","NOT NULL",,"\q0\q","0:未削除、1:削除済",$FFFFFFFF,""
EffectMode=None
Color=$000000
BkColor=$FFFFFF
Position="Main",1250,50
ZOrder=4
[Relation]
Entity1=items
Entity2=order_items
RelationType1=1
RelationType2=3
Fields1=item_id
Fields2=item_id
Cardinarity1=
Cardinarity2=
Position="MAIN",0,500,9500,500,R,R
Dependence=1
Caption=
PName=
LineMode=0
Bar1=50
Bar2=950
Bar3=50
TermPos1=R
TermPos2=R
ZOrder=1
[Relation]
Entity1=users
Entity2=orders
RelationType1=1
RelationType2=3
Fields1=user_id
Fields2=user_id
Cardinarity1=
Cardinarity2=
Position="MAIN",0,500,9500,625,R,R
Dependence=0
Caption=
PName=
LineMode=0
Bar1=50
Bar2=950
Bar3=62
TermPos1=R
TermPos2=R
ZOrder=0
[Relation]
Entity1=item_category
Entity2=items
RelationType1=1
RelationType2=3
Fields1=category_id
Fields2=category_id
Cardinarity1=
Cardinarity2=
Position="MAIN",0,500,9500,500,R,R
Dependence=0
Caption=
PName=
LineMode=0
Bar1=50
Bar2=950
Bar3=50
TermPos1=R
TermPos2=R
ZOrder=3
[Relation]
Entity1=orders
Entity2=order_items
RelationType1=1
RelationType2=3
Fields1=order_id
Fields2=order_id
Cardinarity1=
Cardinarity2=
Position="MAIN",0,500,9500,667,R,R
Dependence=1
Caption=
PName=
LineMode=0
Bar1=50
Bar2=950
Bar3=67
TermPos1=R
TermPos2=R
ZOrder=2

View File

@@ -0,0 +1,428 @@
<!DOCTYPE html>
<html>
<head>
<title>【+α】MySQL_Questions2.md</title>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<style>
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
body {
font-family: "Segoe WPC", "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
font-size: 14px;
padding: 0 12px;
line-height: 22px;
word-wrap: break-word;
}
#code-csp-warning {
position: fixed;
top: 0;
right: 0;
color: white;
margin: 16px;
text-align: center;
font-size: 12px;
font-family: sans-serif;
background-color:#444444;
cursor: pointer;
padding: 6px;
box-shadow: 1px 1px 1px rgba(0,0,0,.25);
}
#code-csp-warning:hover {
text-decoration: none;
background-color:#007acc;
box-shadow: 2px 2px 2px rgba(0,0,0,.25);
}
body.scrollBeyondLastLine {
margin-bottom: calc(100vh - 22px);
}
body.showEditorSelection .code-line {
position: relative;
}
body.showEditorSelection .code-active-line:before,
body.showEditorSelection .code-line:hover:before {
content: "";
display: block;
position: absolute;
top: 0;
left: -12px;
height: 100%;
}
body.showEditorSelection li.code-active-line:before,
body.showEditorSelection li.code-line:hover:before {
left: -30px;
}
.vscode-light.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(0, 0, 0, 0.15);
}
.vscode-light.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(0, 0, 0, 0.40);
}
.vscode-dark.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(255, 255, 255, 0.4);
}
.vscode-dark.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(255, 255, 255, 0.60);
}
.vscode-high-contrast.showEditorSelection .code-active-line:before {
border-left: 3px solid rgba(255, 160, 0, 0.7);
}
.vscode-high-contrast.showEditorSelection .code-line:hover:before {
border-left: 3px solid rgba(255, 160, 0, 1);
}
img {
max-width: 60%;
max-height: 200px;
}
a {
color: #4080D0;
text-decoration: none;
}
a:focus,
input:focus,
select:focus,
textarea:focus {
outline: 1px solid -webkit-focus-ring-color;
outline-offset: -1px;
}
hr {
border: 0;
height: 2px;
border-bottom: 2px solid;
}
h1 {
padding-bottom: 0.3em;
line-height: 1.2;
border-bottom-width: 1px;
border-bottom-style: solid;
}
h1, h2, h3 {
font-weight: normal;
}
h1 code,
h2 code,
h3 code,
h4 code,
h5 code,
h6 code {
font-size: inherit;
line-height: auto;
}
a:hover {
color: #4080D0;
text-decoration: underline;
}
table {
border-collapse: collapse;
}
table > thead > tr > th {
text-align: left;
border-bottom: 1px solid;
}
table > thead > tr > th,
table > thead > tr > td,
table > tbody > tr > th,
table > tbody > tr > td {
padding: 5px 10px;
}
table > tbody > tr + tr > td {
border-top: 1px solid;
}
blockquote {
margin: 0 7px 0 5px;
padding: 0 16px 0 10px;
border-left: 5px solid;
}
code {
font-family: Menlo, Monaco, Consolas, "Droid Sans Mono", "Courier New", monospace, "Droid Sans Fallback";
font-size: 14px;
line-height: 19px;
}
body.wordWrap pre {
white-space: pre-wrap;
}
.mac code {
font-size: 12px;
line-height: 18px;
}
pre:not(.hljs),
pre.hljs code > div {
padding: 16px;
border-radius: 3px;
overflow: auto;
}
/** Theming */
.vscode-light,
.vscode-light pre code {
color: rgb(30, 30, 30);
}
.vscode-dark,
.vscode-dark pre code {
color: #DDD;
}
.vscode-high-contrast,
.vscode-high-contrast pre code {
color: white;
}
.vscode-light code {
color: #A31515;
}
.vscode-dark code {
color: #D7BA7D;
}
.vscode-light pre:not(.hljs),
.vscode-light code > div {
background-color: rgba(220, 220, 220, 0.4);
}
.vscode-dark pre:not(.hljs),
.vscode-dark code > div {
background-color: rgba(10, 10, 10, 0.4);
}
.vscode-high-contrast pre:not(.hljs),
.vscode-high-contrast code > div {
background-color: rgb(0, 0, 0);
}
.vscode-high-contrast h1 {
border-color: rgb(0, 0, 0);
}
.vscode-light table > thead > tr > th {
border-color: rgba(0, 0, 0, 0.69);
}
.vscode-dark table > thead > tr > th {
border-color: rgba(255, 255, 255, 0.69);
}
.vscode-light h1,
.vscode-light hr,
.vscode-light table > tbody > tr + tr > td {
border-color: rgba(0, 0, 0, 0.18);
}
.vscode-dark h1,
.vscode-dark hr,
.vscode-dark table > tbody > tr + tr > td {
border-color: rgba(255, 255, 255, 0.18);
}
.vscode-light blockquote,
.vscode-dark blockquote {
background: rgba(127, 127, 127, 0.1);
border-color: rgba(0, 122, 204, 0.5);
}
.vscode-high-contrast blockquote {
background: transparent;
border-color: #fff;
}
</style>
<style>
/* Tomorrow Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* Tomorrow Comment */
.hljs-comment,
.hljs-quote {
color: #8e908c;
}
/* Tomorrow Red */
.hljs-variable,
.hljs-template-variable,
.hljs-tag,
.hljs-name,
.hljs-selector-id,
.hljs-selector-class,
.hljs-regexp,
.hljs-deletion {
color: #c82829;
}
/* Tomorrow Orange */
.hljs-number,
.hljs-built_in,
.hljs-builtin-name,
.hljs-literal,
.hljs-type,
.hljs-params,
.hljs-meta,
.hljs-link {
color: #f5871f;
}
/* Tomorrow Yellow */
.hljs-attribute {
color: #eab700;
}
/* Tomorrow Green */
.hljs-string,
.hljs-symbol,
.hljs-bullet,
.hljs-addition {
color: #718c00;
}
/* Tomorrow Blue */
.hljs-title,
.hljs-section {
color: #4271ae;
}
/* Tomorrow Purple */
.hljs-keyword,
.hljs-selector-tag {
color: #8959a8;
}
.hljs {
display: block;
overflow-x: auto;
color: #4d4d4c;
padding: 0.5em;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: bold;
}
</style>
<style>
/*
* Markdown PDF CSS
*/
body {
font-family: "Meiryo", "Segoe WPC", "Segoe UI", "SFUIText-Light", "HelveticaNeue-Light", sans-serif, "Droid Sans Fallback";
}
pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
border-radius: 3px;
overflow-x: auto;
white-space: pre-wrap;
overflow-wrap: break-word;
}
pre:not(.hljs) {
padding: 23px;
line-height: 19px;
}
blockquote {
background: rgba(127, 127, 127, 0.1);
border-color: rgba(0, 122, 204, 0.5);
}
.emoji {
height: 1.4em;
}
/* for inline code */
:not(pre):not(.hljs) > code {
color: #C9AE75; /* Change the old color so it seems less like an error */
font-size: inherit;
}
/* Page Break : use <div class="page"/> to insert page break
-------------------------------------------------------- */
.page {
page-break-after: always;
}
</style>
</head>
<body>
<h1>MySQL SQL問題集 part2+α</h1>
<p><strong>前提条件</strong>
SQLフォルダにあるSQLファイルの内容をすべて実行していること</p>
<h2><strong>問1 SELECT文作成</strong></h2>
<p>商品一覧を表示</p>
<p><img src="../img/question2/+α/図1.png" alt="図1"></p>
<h2><strong>問2 SELECT文作成</strong></h2>
<p>注文一覧を表示</p>
<p><img src="../img/question2/+α/図2.png" alt="図2"></p>
<h2><strong>問3 SELECT文作成</strong></h2>
<p>各注文毎の合計額を表示</p>
<p><img src="../img/question2/+α/図3.png" alt="図3"></p>
<h2><strong>問4 SELECT文作成</strong></h2>
<p>月別注文数を表示</p>
<p><img src="../img/question2/+α/図4.png" alt="図4"></p>
<h2><strong>問5 SELECT文作成</strong></h2>
<p>年別注文数を表示</p>
<p><img src="../img/question2/+α/図5.png" alt="図5"></p>
<h2><strong>問6 SELECT文作成</strong></h2>
<p>全体の売上を表示</p>
<p><img src="../img/question2/+α/図6.png" alt="図8"></p>
<h2><strong>問7 SELECT文作成</strong></h2>
<p>カテゴリ別売上額を表示</p>
<p><img src="../img/question2/+α/図7.png" alt="図7"></p>
<h2><strong>問8 SELECT文作成</strong></h2>
<p>商品別売上額を表示</p>
<p><img src="../img/question2/+α/図8.png" alt="図6"></p>
<h2><strong>問9 SELECT文作成</strong></h2>
<p>各カテゴリの構成比を表示</p>
<pre class="hljs"><code><div>※構成比
ある項目が全体に対してどれぐらい占めているかの割合です。
計算式:カテゴリー合計額 ÷ 全体の売上高
</div></code></pre>
<p><img src="../img/question2/+α/図9.png" alt="図9"></p>
<h2><strong>問10 SELECT文作成</strong></h2>
<p>各商品別の構成比を表示</p>
<p><img src="../img/question2/+α/図10.png" alt="図10"></p>
</body>
</html>

View File

@@ -0,0 +1,114 @@
DROP TABLE IF EXISTS order_items;
DROP TABLE IF EXISTS orders;
DROP TABLE IF EXISTS items;
DROP TABLE IF EXISTS item_category;
DROP TABLE IF EXISTS users;
CREATE TABLE users(
user_id INT PRIMARY KEY AUTO_INCREMENT COMMENT 'ユーザID'
, name VARCHAR (15) NOT NULL COMMENT 'ユーザ名'
, password VARCHAR (50) NOT NULL COMMENT 'パスワード'
, age INT COMMENT '年齢'
, is_del CHAR (1) NOT NULL DEFAULT '0' COMMENT '削除フラグ:0:未削除、1:削除済'
)
default charset=utf8
COMMENT 'ユーザテーブル';
CREATE TABLE item_category(
category_id INT AUTO_INCREMENT PRIMARY KEY COMMENT 'カテゴリID'
, name VARCHAR (256) NOT NULL COMMENT 'カテゴリ名'
, is_del CHAR (1) NOT NULL DEFAULT '0' COMMENT '削除フラグ:0:未削除、1:削除済'
)
default charset=utf8
COMMENT 'カテゴリテーブル';
CREATE TABLE items(
item_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '商品ID'
, name VARCHAR (255) NOT NULL COMMENT '商品名'
, price INT NOT NULL COMMENT '価格'
, category_id INT COMMENT 'カテゴリID'
, is_sale CHAR (1) NOT NULL DEFAULT '1' COMMENT '販売有無:1:販売中、0:販売無'
, is_del CHAR (1) NOT NULL DEFAULT '0' COMMENT '削除フラグ:0:未削除、1:削除済'
, FOREIGN KEY fk_categoryid(category_id) REFERENCES item_category(category_id)
)
default charset=utf8
COMMENT '商品テーブル';
CREATE TABLE orders(
order_id INT PRIMARY KEY AUTO_INCREMENT COMMENT '注文ID'
, user_id INT NOT NULL COMMENT 'ユーザID'
, order_time DATETIME NOT NULL COMMENT '注文日時'
, is_del CHAR (1) NOT NULL DEFAULT '0' COMMENT '削除フラグ:0:未削除、1:削除済'
, FOREIGN KEY fk_userid(user_id) REFERENCES users(user_id)
)
default charset=utf8
COMMENT '注文テーブル';
CREATE TABLE order_items(
order_id INT COMMENT '注文ID'
, item_id INT COMMENT '商品ID'
, quantity INT COMMENT '注文数'
, PRIMARY KEY (order_id, item_id)
, FOREIGN KEY fk_orderid(order_id) REFERENCES orders(order_id)
, FOREIGN KEY fk_itemid(item_id) REFERENCES items(item_id)
)
default charset=utf8
COMMENT '注文商品テーブル';
INSERT INTO users (name, password, age) VALUES ('三浦知一','KfCQDjiZ', 53);
INSERT INTO users (name, password, age) VALUES ('遠藤保','V3mngzMP', 40);
INSERT INTO users (name, password, age) VALUES ('柴崎学','XktKCvCx', 27);
INSERT INTO users (name, password, age) VALUES ('本田啓介','bSCebKnP', 33);
INSERT INTO users (name, password, age) VALUES ('花川真司','xKetmAcH', 30);
INSERT INTO item_category (name) VALUES ('家具');
INSERT INTO item_category (name) VALUES ('飲料');
INSERT INTO item_category (name) VALUES ('食品');
INSERT INTO items (name, price, category_id) VALUES ('ローマのテーブル', 150000, 1);
INSERT INTO items (name, price, category_id) VALUES ('げーたるーど2000 500ml', 370, 2);
INSERT INTO items (name, price, category_id) VALUES ('原始肉', 2500, 3);
INSERT INTO items (name, price, category_id) VALUES ('魅惑の椅子', 100000, 1);
INSERT INTO items (name, price, category_id) VALUES ('十八茶 600ml', 110, 1);
INSERT INTO items (name, price, category_id) VALUES ('いい匂いのするドリアン', 5000, 3);
INSERT INTO items (name, price, category_id) VALUES ('太平洋の水 550ml', 300, 2);
INSERT INTO items (name, price, category_id) VALUES ('ひたすら膨らむガム', 200, 3);
INSERT INTO items (name, price, category_id) VALUES ('人をだめにするソファー', 10000, 1);
INSERT INTO items (name, price, category_id) VALUES ('人を虜にする名酒', 20000, 2);
INSERT INTO items (name, price, category_id) VALUES ('新鮮キャベツ', 1000, 3);
INSERT INTO orders (user_id, order_time) VALUES (1, '2015-02-22 12:00:00');
INSERT INTO orders (user_id, order_time) VALUES (4, '2015-12-01 15:30:00');
INSERT INTO orders (user_id, order_time) VALUES (3, '2018-03-20 18:45:00');
INSERT INTO orders (user_id, order_time) VALUES (2, '2018-05-11 11:28:00');
INSERT INTO orders (user_id, order_time) VALUES (5, '2018-09-30 10:50:00');
INSERT INTO orders (user_id, order_time) VALUES (1, '2018-09-12 20:13:00');
INSERT INTO orders (user_id, order_time) VALUES (4, '2018-09-15 21:34:00');
INSERT INTO orders (user_id, order_time) VALUES (1, '2019-05-06 16:00:00');
INSERT INTO orders (user_id, order_time) VALUES (3, '2019-12-20 10:39:00');
INSERT INTO orders (user_id, order_time) VALUES (2, '2020-01-01 14:11:00');
INSERT INTO order_items (order_id, item_id, quantity) VALUES (1, 2, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (1, 6, 10);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (1, 7, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (1, 11, 10);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (2, 4, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (3, 9, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (4, 7, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (4, 8, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (5, 2, 7);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (5, 3, 5);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (5, 10, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (5, 11, 5);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (5, 5, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (5, 7, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (6, 8, 10);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (7, 4, 2);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (8, 1, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (8, 9, 1);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (9, 3, 4);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (9, 5, 2);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (9, 8, 10);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (10, 1, 2);
INSERT INTO order_items (order_id, item_id, quantity) VALUES (10, 10, 2);