MySQL

A collection of 3 posts
【SQL】3値論理(True/False/Unknown?)
IT

【SQL】3値論理(True/False/Unknown?)

SQLには、ture, false だけでなく、unknownを含む3つの真理値があります。 なぜ、unknownが含まれるかという理由については、リレーショナルデータベースにNULLが存在するからです。NULLは、そこに値がないことを意味する記号であり、値ではありません。 値ではないので、下記の条件式は比較ができず、すべてunknownとなります。 1 = NULL 1 <> NULL 1 > NULL 1 < NULL NULL = NULL ... 次に、true、false、unkownの力関係は下記のとおりです。 【ANDの場合】 false > unknown > true 【 ORの場合】 true > unknown > false したがって、真理表は下記のとおりになります。 ANDtureunknownfalse truetrueunknownfalse unknownunknownunknownfalse falsefalsefalsefalse
1 min read
【SQL】Dockerを使ったSQL学習環境の構築
IT

【SQL】Dockerを使ったSQL学習環境の構築

以前、MySQL(MariaDB)を使ったSQL学習用のサンプルデータベースの準備をご紹介しましたが、今回はDockerを使って、もっと手軽に前回の学習環境を準備してみたいと思います。 また、HeidiSQLのUbuntu版は日本語対応がいまいちだったので、学習しづらかったため、今回はphpMyAdminを導入してWebブラウザ上でSQLの学習ができるようにもしてみました。 1. 手順 大まかな手順は下記の通りです。 (1) mariadb-employees というカスタムイメージを作る (2) build 時に GitHub から employees.sql等の必要なファイルをダウンロードして、 MariaDB の/opt/employees-db に配置 (3) コンテナ初回起動時に シェルスクリプト が自動実行され、employees DB にサンプルデータが入る (4) phpMyAdmin から中身を触って学習できる 2️. ディレクトリ構成 まずは、専用ディレクトリを作ります: mkdir mariadb-employees cd
2 min read
【SQL】CASE式まとめ 01
IT

【SQL】CASE式まとめ 01

前提 * 「達人に学ぶSQL徹底指南書 第2版 ミック著 翔泳社」を自分用にまとめたものです。 * 使用するデータは、MySQL公式のemployeesのデータを使用しています。 【SQL】MySQL(MariaDB)を使ったSQL学習用のサンプルデータベースの準備 CASE式概要 * CASE式を使いこなせるかが、初級者と中級者の分かれ目 * CASE式はある列の値を別の値に読み替えているだけ * 他のSQLツール(集約関数等)と組み合わせることで威力を発揮する * やっかいなバグを防ぐために、ELSE句を必ず書く(ELSE句を省略するとELSE NULL扱いとなる) CASE式の演習 演習1:単純CASE式と検索CASE式 課題:employeesテーブルを使って下記のデータを表示してください。 * 表示データ * emp_no * first_name * last_name * gender Mは「Mail」、Fは「Femail」とCASE式を使って表示 解答:CASE
4 min read