親フォルダ

🚫 SQL の条件を使用する際は、OR を書いてはいけません

(1) 🌭 円周率を 3.14 として、半径 12.5 の円の面積を 小数第二位を四捨五入して表示しなさい
select round( 3.14 * 12.5 * 12.5, 1 )
(2) 🍄 商品マスタを使用して、販売単価と在庫評価単価の差額に消費税を含めて 評価差額内税として商品コードと商品名と共に表示しなさい
select 商品コード,商品名,(販売単価-在庫評価単価)*1.08 as 評価差額内税 from 商品マスタ
(3) 🌷 現在の日付部分のみを表示しなさい (時間部分は必要ありません ) ※ 参考
select curdate()
(4) 🌷 現在の日付部分を文字列に変換して 9999/99/99 形式で表示しなさい ※ 参考
select date_format(curdate(),'%Y/%m/%d')
(5) 🍆 現在から一年後の月末日付を表示しなさい
一年後の月末
2020/07/31
select last_day(curdate() + interval 1 year)
(6) 🍉 社員マスタを使用して、氏名と支給額という列名で、全社員を表示しなさい
select 氏名,給与+ifnull(手当,0) as 支給額 from 社員マスタ
(7) 🍄 社員マスタを使用して、管理者のみの給与合計を表示しなさい
select sum(給与) from 社員マスタ where 管理者 is null
(8) 🍍 女性の全社員数を表示しなさい
女性の全社員数
17
select count(*) as 女性の全社員数 from 社員マスタ where 性別 = 1
(9) 🍒 コード名称マスタを使用して所属一覧としてコードと所属名を表示しなさい
select コード,名称 as 所属名 from コード名称マスタ where 区分 = 2
(10) 🍓 コード名称マスより食品のコードを表示しなさい
コード
A
select コード from コード名称マスタ where 区分 = 5 and 名称 = '食品'
(11) 🍄 郵便番号マスタから丸山通を表示しなさい
select * from 郵便番号マスタ where 町域名 = '丸山通'
(12) 🍄 得意先マスタの住所1と住所2を結合して郵送に必要な情報を全て表示しなさい
select 郵便番号,得意先名,concat(住所1,住所2) as 住所 from 得意先マスタ
(13) 🍖 商品マスタの商品分類の頭一文字とコード名称マスタを結合して、商品コードと商品名と商品分類の頭一文字の名前を表示しなさい
select 商品コード,商品名,名称 from 商品マスタ left outer join コード名称マスタ on substring(商品分類,1,1) = コード where 区分 = 5
(14) 🍙 case を使用して社員マスタの全ての列に性別名を追加して表示しなさい
select 社員マスタ.*, case when 性別 = 0 then '男' when 性別 = 1 then '女' end as 性別名 from 社員マスタ
(15) 🍜 社員マスタとコード名称マスタを結合して、社員マスタの全ての列と性別名を表示しなさい
select 社員マスタ.*, 名称 as 性別名 from 社員マスタ left outer join コード名称マスタ on 性別 = コード where 区分 = 1
(16) 🍄 社員マスタのテーブル構造を以下のように表示してください
show columns from 社員マスタ または describe 社員マスタ または desc 社員マスタ
FieldTypeNullKeyDefaultExtra
社員コードvarchar(4)NOPRI
氏名varchar(50)YES
フリガナvarchar(50)YES
所属varchar(4)YES
性別int(11)YES
作成日datetimeYES
更新日datetimeYES
給与int(11)YES
手当int(11)YES
管理者varchar(4)YES
生年月日datetimeYES
(17) 🍦 社員マスタとコード名称マスタより実所属一覧を表示しなさい ( 重複を排除する )
select distinct 所属,名称 as 所属名 from 社員マスタ left outer join コード名称マスタ on 所属 = コード where 区分 = 2
所属所属名
0001営業部第一
0002営業部第二
0003営業部第三
(18) 🍭 条件に like を使用して娯楽関連の商品数を表示しなさい
select count(*) 商品数 from 商品マスタ where 商品分類 like 'G%'
(19) 🍮 取引データを使用して、7月以外の売り上げ金額の合計を表示しなさい ( or は使用しないでください )
select sum(金額) from 取引データ where 取引日付 not between '2005/07/01' and '2005/07/31'
(20) 🍰 得意先マスタと社員マスタを結合して、担当者が営業第一と営業第二である得意先を表示しなさい ( or は使用しないでください )
select 得意先マスタ.* from 得意先マスタ left outer join 社員マスタ on 担当者 = 社員コード where 所属 in('0001','0002')
(21) 🍴; 取引データの取引日付を substring 関数を使用して 7 月ぶんの明細を全て表示しなさい
select * from 取引データ where substring(取引日付,6,2) = '07'
(22) 🎀 取引データより 7 月ぶんの取引先毎の売上金額が1500000 以上のデータを表示しなさい
取引先コード得意先名売上金額
0004㈱中鈴商店2927220
0009㈱高野建設1596480
0014㈱岡鈴商事1554880
0029株式会社多村商事1618840
0030田内商事株式会社1512290
0044㈱丸内コーポレーション1556800
0048岡原コーポレーション株式会社1579770
select 取引先コード,max(得意先名) as 得意先名,sum(金額) as 売上金額 from 取引データ left outer join 得意先マスタ on 取引先コード = 得意先コード where substring(取引日付,6,2) = '07' group by 取引先コード having sum(金額) >= 1500000
(23) 🎃 最も給与の少ない社員を表示しなさい
select * from 社員マスタ where 給与 = ( select min(給与) from 社員マスタ )
(24) 🌷 得意先台帳を取引先、取引日付、伝票番号、行でソートして表示しなさい
select 取引先コード, 得意先名, 取引日付, 取引区分, 伝票番号, 行, 取引データ.商品コード, 商品名, 数量, 単価, 金額 from 取引データ left outer join 得意先マスタ on 取引先コード = 得意先コード left outer join 商品マスタ on 取引データ.商品コード = 商品マスタ.商品コード order by 取引先コード,取引日付,伝票番号,行
取引先コード得意先名取引日付取引区分伝票番号商品コード商品名数量単価金額
0001村浦コーポレーション株式会社2005/06/011099610006一般家電-----------------00068603048240
0001村浦コーポレーション株式会社2005/06/021068210046スポーツ用品---------------00465388019400
0001村浦コーポレーション株式会社2005/06/021068220014ゲーム機-----------------0014187100127800
0001村浦コーポレーション株式会社2005/06/041022910093アウトドア用品--------------00939296026640
0001村浦コーポレーション株式会社2005/06/041022920039パン-------------------0039174407440
0001村浦コーポレーション株式会社2005/06/041022930084ドリンク-----------------008414494069160
0001村浦コーポレーション株式会社2005/06/061049710092パン-------------------0092138280107640
(25) 🎌 大阪市阿倍野区の郵便番号データを郵便番号順に C:\Users\lightbox\Downloads\zip-abeno.csv としてエクスポートしなさい
select * from 郵便番号マスタ where 市区町村名 = '大阪市阿倍野区' order by 郵便番号 into outfile 'C:\\Users\\lightbox\\Downloads\\zip-abeno.csv' fields terminated by ',' enclosed by '"' lines terminated by '\r\n'
(26) 🎃 以下のテーブルを関数マスタとして作成しなさい
列名型値型定数型名最大桁精度スケールNULL主キーデフォルト型説明備考
1コード番号3adIntegerint10N104 バイトの符号付き整数
2関数名130adWCharvarchar50Null で終了する Unicode 文字列
3戻り値の型130adWCharvarchar12N''Null で終了する Unicode 文字列
4引数の数3adIntegerint104 バイトの符号付き整数
5機能説明130adWCharvarchar10000Null で終了する Unicode 文字列
create table 関数マスタ ( コード番号 INT, 関数名 VARCHAR(50), 戻り値の型 VARCHAR(12) not NULL, 引数の数 INT, 機能説明 VARCHAR(10000), primary key(コード番号) )
(27) 🎃 関数マスタを以下の SQL で主キーを自動採番にして、関数名が sum のデータを登録しなさい
alter table 関数マスタ change column コード番号 コード番号 int unsigned not null auto_increment,add index (コード番号) insert into 関数マスタ (関数名) values('sum')
(28) 🎃 社員コードが 0024 の社員の給与を現在の1.5倍に更新しなさい
update 社員マスタ set 給与 = 給与 * 1.5 where 社員コード = '0024'
(29) 🎃 営業第一所属の社員を全員営業第三に異動させなさい
update 社員マスタ set 所属 = '0003' where 所属 = '0001'
(30) 🎃 郵便番号マスタの内容を全てクリアしなさい ( delete は使用しない )
truncate table 郵便番号マスタ
(31) 🎃 郵便番号マスタを ZIPマスタに変更しなさい
rename table 郵便番号マスタ to ZIPマスタ
(32) 🎃 取引データを削除しなさい
drop table 取引データ
(33) 🎃 まず社員マスタの所属とコード名称マスタを結合し、そのSELECT をインラインビューとして表として考え、さらに性別とコード名称マスタを結合して以下のように表示しなさい
社員コード氏名フリガナ所属性別作成日更新日給与手当管理者生年月日所属名性別名
0001浦岡 友也ウラオカ トモヤ000302005/09/122005/11/2827000090002000/01/01営業部第三
0002山村 洋代ヤマムラ ヒロヨ000312005/06/172005/09/183000002000/01/02営業部第三
0003多岡 冬行タオカ フユユキ000202005/08/142005/11/142500002000/01/03営業部第二
0004高田 冬美タカタ フユミ000312005/06/132005/10/052500002000/01/04営業部第三
0005内高 友之ウチタカ トモユキ000302005/09/122005/11/101500002000/01/05営業部第三
0006森尾 正也モリオ マサヤ000202005/08/142005/12/17300000700000022000/01/06営業部第二
select A.*,名称 as 性別名 from (select 社員マスタ.*,名称 as 所属名 from 社員マスタ left outer join コード名称マスタ on 所属 = コード where 区分 = 2) A left outer join コード名称マスタ on 性別 = コード where 区分 = 1