SQLの窓 イラストAC フリー素材

2021年12月29日

MySQL : 相関サブクエリ・非相関サブクエリ( IN 句 ) : 15

相関サブクエリは、外部クエリの値を使用するサブクエリです。
 

社員マスタ(左) の社員コードと得意先マスタ(右) の担当者が一致します。

社員が担当する得意先の件数を表示する SQL を記述してください。


社員マスタ(左) に 管理者名 VARCHAR(50)を追加したとして、UPDATE 構文で相関サブクエリを使用して管理者名列の全ての名前をセットしてください


取引データの取引先コードと金額を使用して売り上げが400万を超える担当者の社員情報の一覧を取得するSQLを記述してください( 二階層の IN を使用した非相関サブクエリ )



posted by at 2021-12-29 19:57 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

2021年12月28日

MySQL : 結合によるデータ作成と調整 : 14

テスト時に何らかのテストデータを作成したい時には、結合を使用します。仕様的には、結合するテーブルの条件で両方共データが存在する場合の行の一覧を取得しますが、プログラミング的には特殊な目的に利用する事になります。

この結合は、条件を指定しなければ、いわゆるとなるので、50件の社員マスタを自己結合させれば、2500件のデータを作成する事ができます。以下に社員マスタ(50件)を自己結合させて、2500件の 片方の社員マスタの列を表示する SQL を記述してください。


しかし、このままでは主キーが無い(本来の社員コードは重複してしまう)ので、CREATE TABLE ... SELECT 構文を使用して社員マスタと同じ列定義を持った社員テーブルを作成する SQL を記述してください


このテーブルに自動採番列( SERIAL )の ROWKEY という列を先頭に追加するSQL を記述してください


この際、自動的に ROWKEY というユニークなインデックスが作成されてしまいますが、主キーを作成する為にこのインデックスを削除する必要があります。その際、ROWKEY 列が NOT NULL である必要があるので、NOT NULL 制約を付加する SQL を記述してください


ROWKEY インデックスを削除する SQL を記述してください


最後に、ROWKEY に主キーを付加する SQL を記述してください




posted by at 2021-12-28 19:58 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

MySQL : 外部からのアクセス・結合( JOIN ) : 15

MySQL では設定しなれければ、接続できるホストはのみです。ユーザもしかありません。外部からの接続を可能にするには、MySQLから見たホスト名とユーザ名を組み合わせてアカウント管理ステートメントである GRANT 構文で実行します。以下に PC-00 に対して既存の前述のユーザでパスワードを mypass として すべての権限を付与するSQL を記述してください( 他のユーザに権限を与えれるように記述してください )( +5 )


上記定義を削除する SQL を以下に記述してください
( +1 )

二つ以上の表を結合する場合、プログラミングでは通常を指定して最初のテーブルデータを全て選択するようにします。この場合、二つ目のテーブルに最初のテーブルに該当するデータが無い場合、二つ目のテーブルに該当する列の内容はとなります。

結合の際の条件は句の後に記述され、最終的に結合後の行を絞るには句を使用し、ソートする為の句は、最後に記述します。

社員マスタでは、【管理者】という列があり、これは同じ社員マスタのデータとなります。つまり、管理者名を表示するには、社員マスタと社員マスタを結合する必要があります。このような結合を自己結合と言います。

この結合の記述のポイントは、二つの社員マスタに別名を与える事です。以下に管理者名を取得可能な自己結合の SQL を記述してください( +2 )





posted by at 2021-12-28 10:30 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

2021年12月27日

MySQL : エクスポート・インポート : 16 ( 5x2 1x2 2x2 )

データ操作ステートメントで重要なSQLは、SELECTUPDATE INSERT です。これらで殆どのアプリケーションに必要な処理を実現できます。ただ、その中でもデータベースの中だけで完結しない SQL を知っておく事は開発や運用で重要になります。

MySQL では、SELECT を使用してテキストファイルにデータをエクスポートする事ができます。社員マスタの全ての列を C:/app/workspace/syain.932 へ出力する SQL を記述してください。

※ キャラクタセットは cp932
※ 列データの区切り文字は ,(カンマ)
※ 改行コードは \r\n
※ OPTIONALLY ENCLOSED BY '"' を使用する事

データをエクスポートするという事は、インポートを知っている必要があります。MySQL では上記処理で出力されたデータを LOAD DATA INFILE という SQL で実現します。(この SQL もデータ操作ステートメントです)
以下に、インポートする SQL を記述してください


社員マスタには、主キーが存在します。ですから、インポートする前にはデータを全て削除しておく必要がありますが、この場合はデータ操作ステートメントの構文では無く、データ定義ステートメントの構文を使用してください。前者はあくまで、アプリケーション内での削除に使われるもので、運用には後者を使用します。

バックアップ目的のエクスポートは、コマンドで行います。以下にコマンドプロンプトで行うエクスポートを記述してください。

※ localhost の lightbox データベース
※ ユーザは root で、パスワードは空文字
※ 出力ファイルは backup.sql

この内容は SQL となっていますので、インポートはSQL の実行を行うコマンドです。以下にその内容を記述してください






posted by at 2021-12-27 16:23 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

2021年12月26日

SQL MySQL ベーシック : 15

データベースにはいろいろな種類があり、それぞれを管理するシステムと言う意味で一般的な通称としてと呼びます。その中で MySQL はSQLにおいて自由度の高いものとなるので、Oracel でできなかった事ができたりするので、MySQL で出来た事を【常識】と考えない事が必要です。

SQLには一般的に、データを操作するとデータを定義するに分かれますが、MySQL では、データベースを管理する SQL があります。その中でも SHOW 構文がプログロマにとっては有用なのでいくつか暗記しておく必要があります。

 : テーブル一覧
 : データベース一覧
 : 社員マスタのテーブル定義( CREATE 文 を表示 )
 : 社員マスタのテーブル情報
 : システム変数の値

また、MySQL には information_schema というデータベースが最初から存在し、MySQL のいろいろな情報を読み出す事ができます。特にの定義と列の情報は有用で、列の情報が格納されているのはというオプジォクトです。

データを定義する SQL は本来管理者が使用するものですが、最低限プログラマも知る必要があります
 : lightbox データベースを作成
 : 社員マスタに削除フラグを varchar(1)で追加
 : 社員マスタから削除フラグを削除
 : 社員マスタの性別のデータ型をvarchar(1)に変更
FieldTypeNullKeyDefaultExtra
社員コードvarchar(4)NOPRI
氏名varchar(50)YES
性別intYES
生年月日datetimeYES
上記定義で 社員というテーブルを定義するSQL を記述してください





posted by at 2021-12-26 10:15 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

2021年12月25日

Google : 14

Google の検索では、二つの検索方法を知っておく必要があります。一つは【完全一致】で、これをしないと語句の切れ目で切って AND 検索が実行されます。そこで指定した語句に完全一致した語句が含まれるページを知りたい場合【世界一高い建築物】の場合どのりように記述すれば良いでしょうか。


さらに特定のサイトの中でけで検索したい場合( 検索文字列は SQL で サイトは https://winofsql.jp の場合どういう記述で検索すれば良いでしょうか


Google Chrome で作業をする場合のショートカットで重要な以下のキーを記述してください
 : シークレットウインドウを開く
 : 拡大
 : 100% に戻す
 : ブックマークバーの表示・非表示の切り替え
 : 現在表示しているページのソースを表示
 : キャッシュ削除のダイアログ表示

現在 Chrome には、右クリックでそのページを日本語に翻訳する事ができますが、そのページのリンクから移動するとキャンセルされます。連続して翻訳するにはを有効にする必要がありますが、設定の詳細のから設定を行ってください

Chrome でデベロッパーツールを表示するには、F12 キーを使用しますが、表示した後に使える重要な機能に、キャッシュを完全に消去するがありますが、のアイコンを右クリックすると表示されます。

また、JavaScript を無効にする方法は、歯車アイコンで設定を開いて欄にある【JavaScriptを無効にする】をチェックします。

要素タブでは、ドラッグで要素の位置を変更したり、DEL キーで選択した要素を削除可能です。さらに直接要素記述を編集するには。キーで編集可能状態になります。


posted by at 2021-12-25 17:54 | ブログツール | このブログの読者になる | 更新情報をチェックする

Excel : 16

Excel の操作は非常に多岐に渡ります。作成するドキュメントを自由自在に操れるように最低限のショートカットを知っておく必要があります。

でワークシート追加します。その後、で直前の処理を繰り返してたくさんワークシートを作成してください。画面上には最後のワークシートが表示されなくなるので、左下の右向き三角をを押しながらクリックすると最後のワークシートまで移動します。逆にその状態で左下の左向き三角に同様の処理を行うと先頭のワークシートに移動できます。

書式を作成する為に列幅を全て1にする為にで全ての列と行を選択します。そして、適当な列タイトルを右クリックして列の幅に1を入力します。その状態で右下のアイコンをクリックして標準に戻ると、現在の1ページの輪郭にが表示されます。

その範囲の一番右下に何でもいいので文字列( X にします )を入力し、名前ボックスにと入力するかキーで最初のセルに移動します。そしてキーで1ページぶんが選択されるので、キーで輪郭に罫線を引きます。最後にでデータを削除し、印刷プレピューを起動して罫線を確認して右下ので余白罫線も表示させてレイアウトを調整します。

ワークシートは、CTRL + SHIFT + で最初に選択(シート名で)したワークシートから右へ選択されていきます。(または SHIFT キーを押しながらマウスで最後のシートのシート名をクリック)ので、上記の一連の処理を選択状態で行うと、全てのワークシートに反映されます。最初のシートのレイアウトをコピーしたい場合は、で全ての列と行を選択してからコピーし、ワークシートを複数選択(シート名で)した状態で貼り付けます。

選択状態の解除は、非選択のワークシートのシート名をクリックするか、任意の選択中のシートのうちの一つをシート名で選択してからキーを押しながらそのワークシートのシート名をクリックします。

posted by at 2021-12-25 13:50 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

2021年12月24日

Windows のアプリケーション : 15

Windows には GUI を持ったアプリケーションとバッチ処理用のアプリケーションがあります。以下の説明に該当する有益なアプリケーションのファイル名を記述してください。

【GUI】
 : 電卓
 : スクリーンキーボード
 : レジストリエディタ
 : ディスク イメージ書き込みツール
 : Windows のバージョン情報

【バッチ】
 : コマンド ライン ツールの出力を Windows クリップボードにリダイレクトします
 : ファイル (複数可) 内のテキスト文字列を検索します
 : ファイル内のテキストのパターン(正規表現を使用)を検索します
 : 現在のホストの名前を出力します
 : 確実なファイルコピー( xcopy ではありません )
 : コマンド処理の一時停止

Windows では、ms-settings:設定名 で各種設定ウインドウが開きます。以下の説明に適した設定名を記述してください

 : スピーカ・マイクの音量等
 : 解像度・マルチディスプレイ等
 : コンピュータ名・メモリ量・Windows バージョン等
privacy- : アクティビティの履歴をオン・オフ





posted by at 2021-12-24 17:39 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

2021年12月23日

リモートアクセス( 遠隔操作 ) : 16

リモートアクセスは、いろいろな場面でとても有用な手段となっています。特に昨今の在宅勤務でも威力を発揮しています。但し大きく分けて二種類のレベルがあり、一つはを介して世界のどこであってもアクセスが可能なものと、内でのみ利用可能なものです。

前者を A、後者を B とした場合それぞれ二つづつのソフトウェアの名称を記述してください
A1 : 
A2 : 
B1 : 
B2 : 

A1の力を借りるもので、アカウントと PC を紐づけて自宅より会社のPC にアクセスが可能となります。
A2 は本来は別の目的で使用されますが、相手が時にこちらから遠隔操作を可能にするものです。

B1 はWindows の標準機能で、相手側の PC でアクセスを許可する必要があり、相手側の PC はになります。
B2は、片方のPC にソフトをインストールしてソフトからアクセスします。B1 とは違い、相手側の PC も利用可能なので、自分のPC をにしてプロジェクタに接続しているPC をにする事によってリモート操作の重さを感じずに任意の PC でプレゼンが可能です。

A1 では、接続時にも共有するようになっているので、二つの PC を一つのデスクトップ内で切り替えて使うような事になります。また、大きなファイルはという単純な操作で相互にやりとりが可能です。


posted by at 2021-12-23 16:10 | プログラマ用 | このブログの読者になる | 更新情報をチェックする

2021年12月22日

Windows 基本操作 : 13

Windows から様々なアプリケーションを実行し、業務や開発を効率化する為に Windows のデスクトップからの操作と重要なアプリケーションの核となるポイントを把握しておく必要があります。

Windows にユーザでログインして最初に表示される情報は大きく分けて3種類あります。
A : 
B : 
C : 

A は特殊フォルダです。とファイル名を指定して実行やエクスプローラのアドレスバーに入力する事でそこにあるファイルの一覧を表示する事ができます。この一覧に表示されるのは、B です。Cにはさらに様々な情報が表示されていますが、日本語入力に関するの扱いは重要です。

A は、フォルダという側面とという側面を持ちます。なので、必要なデバイスを整備するとという拡張が可能になり、他のデバイスに A の中にある情報を表示する事が可能になります。これは、特殊なアプリを使う事によって、他のデバイスはスマホやタブレットでも可能です。その際に利用するデバイスは無線LAN子機で可能で、という機能で有線LANのPCにスマホ等からWiFiで接続可能になった状態で可能になります。



さらに、で起動された拡大鏡によって、A は画像データ+αとしてシステムに管理されるようになり、拡大鏡の機能によって、システム経由で取得可能な文字が機械音声に変換されます。また、Zoom では画面共有時には Zoom のコントロールが相手側に表示されませんが、拡大鏡を起動すると表示されるようになります。

B はファイル・フォルダそのものか、ユーザがアプリケーションを起動する為のショートカットが殆どとなりますが、システムが管理するものもあり、表示・非表示をでチェックボックスで指定します。このダイアログは【個人用設定】>【テーマ】の右サイドにある関連設定からリンクされています。

C の一番右端をクリックすると即座にを表示する事ができます。その後、でシャットダウン等を選択可能なダイアログを表示する事ができます。


posted by at 2021-12-22 14:34 | プログラマ用 | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します