SQL データベースの作成と非等値結合クエリ

MySQLMySQLBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

このプロジェクトでは、データベース、テーブルを作成し、データを挿入する方法を学びます。その後、データベース内の情報に基づいてすべてのユーザーのレベルを取得するための非等値結合クエリを実行します。

👀 プレビュー

Database project preview

🎯 タスク

このプロジェクトでは、以下のことを学びます。

  • sudo コマンドを使用してパスワードなしで MySQL にアクセスする方法
  • vip データベースを作成する方法
  • leveluser テーブルを作成し、それらにデータを挿入する方法
  • すべてのユーザーのレベルを取得するための SQL クエリを書く方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • データベースとテーブルを作成するプロセスを理解する
  • テーブルにデータを挿入する経験を得る
  • 複数のテーブルからデータを取得するための非等値結合クエリを実行する方法を学ぶ
  • SQL の知識を適用して現実世界の問題を解決する

MySQL にアクセスしてデータベースを作成する

このステップでは、sudo コマンドを使用してパスワードなしで MySQL にアクセスし、vip データベースを作成する方法を学びます。

  1. MySQL サービスを起動する:
sudo service mysql start
  1. sudo コマンドを使用して MySQL にアクセスする:
sudo mysql
  1. 提供された文字セットで vip データベースを作成する:
CREATE SCHEMA vip CHARSET UTF8;
  1. vip データベースを使用する:
USE vip;

テーブルを作成してデータを挿入する

このステップでは、leveluser テーブルを作成し、それらにデータを挿入する方法を学びます。

  1. level テーブルを作成する:
CREATE TABLE level (
name VARCHAR(64) NOT NULL,
low INT NOT NULL,
high INT NOT NULL
);
  1. level テーブルにデータを挿入する:
INSERT INTO level VALUES
('L1', 0, 9),
('L2', 10, 99),
('L3', 100, 499),
('L4', 500, 999);
  1. user テーブルを作成する:
CREATE TABLE user (
name VARCHAR(32) NOT NULL,
score INT NOT NULL
);
  1. user テーブルにデータを挿入する:
INSERT INTO user VALUES
('Jane', 5),
('John', 15),
('Mary', 155);

ユーザーレベルを取得する

このステップでは、vip データベース内の情報に基づいてすべてのユーザーのレベルを取得する方法を学びます。

  1. 以下のコードを getLevel.sql ファイルに追加します。

    SELECT u.name AS `User`, l.name AS `Level`
    FROM `user` u, `level` l
    WHERE u.score BETWEEN l.low AND l.high;
  2. ファイルを保存して閉じます。

  3. MySQL で getLevel.sql スクリプトを実行します。

    SOURCE /home/labex/project/getLevel.sql;

出力は以下のようになるはずです。

MariaDB [vip]> SOURCE /home/labex/project/getLevel.sql;
+------+-------+
| User | Level |
+------+-------+
| Jane | L1    |
| John | L2    |
| Mary | L3    |
+------+-------+
3 rows in set (0.000 sec)

おめでとうございます!このプロジェクトを完了しました。

✨ 解答を確認して練習

まとめ

おめでとうございます!このプロジェクトを完了しました。あなたは実験技術を向上させるために LabEx でさらに多くの実験を行うことができます。