MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

サブクエリを使用してMySQLEmployeeテーブルの最大および2番目の最大給与を検索しますか?


サブクエリを使用して、Employeeテーブルから最大および2番目の最大給与を取得できます。

まず、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table EmployeeMaxAndSecondMaxSalary
   -> (
   -> EmployeeId int,
   -> Employeename varchar(20),
   -> EmployeeSalary int
   -> );
Query OK, 0 rows affected (0.88 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into EmployeeMaxAndSecondMaxSalary values(1,'John',34566);
Query OK, 1 row affected (0.20 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(2,'Bob',56789);
Query OK, 1 row affected (0.17 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(3,'Carol',44560);
Query OK, 1 row affected (0.26 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(4,'Sam',76456);
Query OK, 1 row affected (0.29 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(5,'Mike',65566);
Query OK, 1 row affected (0.14 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(6,'David',89990);
Query OK, 1 row affected (0.19 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(7,'James',68789);
Query OK, 1 row affected (0.12 sec)

mysql> insert into EmployeeMaxAndSecondMaxSalary values(8,'Robert',76543);
Query OK, 1 row affected (0.13 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from EmployeeMaxAndSecondMaxSalary;

以下は出力です。

+------------+--------------+----------------+
| EmployeeId | Employeename | EmployeeSalary |
+------------+--------------+----------------+
|          1 | John         |          34566 |
|          2 | Bob          |          56789 |
|          3 | Carol        |          44560 |
|          4 | Sam          |          76456 |
|          5 | Mike         |          65566 |
|          6 | David        |          89990 |
|          7 | James        |          68789 |
|          8 | Robert       |          76543 |
+------------+--------------+----------------+
8 rows in set (0.00 sec)

サブクエリを使用して最大および2番目の最大給与を取得するためのクエリ-

mysql> select (select max(EmployeeSalary) from EmployeeMaxAndSecondMaxSalary) MaximumSalary,
   -> (select max(EmployeeSalary) from EmployeeMaxAndSecondMaxSalary
   -> where EmployeeSalary not in(select max(EmployeeSalary) from
EmployeeMaxAndSecondMaxSalary)) as SecondMaximumSalary;

以下は、上位2つの給与を表示する出力です-

+---------------+---------------------+
| MaximumSalary | SecondMaximumSalary |
+---------------+---------------------+
|         89990 |               76543 |
+---------------+---------------------+
1 row in set (0.00 sec)

  1. 別のテーブルの値を使用したINSERTINTOのMySQLクエリ?

    これには、INSERTINTOSELECTステートメントを使用します。 テーブルを作成しましょう- 例 mysql> create table demo82    -> (    -> id int,    -> name varchar(20)    -> ); Query OK, 0 rows affected (2.06 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 例 mysql> insert into demo82 values(100,&

  2. MySQLデータベースの作成と使用

    MySQLがインストールされ、ユーザーがSQLステートメントの入力方法を認識したら、データベースにアクセスできます。データベース内のテーブルからデータを取得するために必要な手順を理解しましょう- サーバーに接続する データベースを作成する テーブルを作成する データをテーブルにロードします テーブルからデータを取得する データベースを作成する前に、環境にすでに存在するデータベースを知ることが重要です。以下のクエリを使用して見つけることができます- クエリ mysql> SHOW DATABASES; 出力 +--------------+ | Data