Department Highest Salary
<p>Table: <code>Employee</code></p>

<pre>
+--------------+---------+
| Column Name  | Type    |
+--------------+---------+
| id           | int     |
| name         | varchar |
| salary       | int     |
| departmentId | int     |
+--------------+---------+
id is the primary key (column with unique values) for this table.
departmentId is a foreign key (reference columns) of the ID from the <code>Department </code>table.
Each row of this table indicates the ID, name, and salary of an employee. It also contains the ID of their department.
</pre>

<p>&nbsp;</p>

<p>Table: <code>Department</code></p>

<pre>
+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| name        | varchar |
+-------------+---------+
id is the primary key (column with unique values) for this table. It is guaranteed that department name is not <code>NULL.</code>
Each row of this table indicates the ID of a department and its name.
</pre>

<p>&nbsp;</p>

<p>Write a solution to find employees who have the highest salary in each of the departments.</p>

<p>Return the result table in <strong>any order</strong>.</p>

<p>The result format is in the following example.</p>

<p>&nbsp;</p>
<p><strong class="example">Example 1:</strong></p>

<pre>
<strong>Input:</strong> 
Employee table:
+----+-------+--------+--------------+
| id | name  | salary | departmentId |
+----+-------+--------+--------------+
| 1  | Joe   | 70000  | 1            |
| 2  | Jim   | 90000  | 1            |
| 3  | Henry | 80000  | 2            |
| 4  | Sam   | 60000  | 2            |
| 5  | Max   | 90000  | 1            |
+----+-------+--------+--------------+
Department table:
+----+-------+
| id | name  |
+----+-------+
| 1  | IT    |
| 2  | Sales |
+----+-------+
<strong>Output:</strong> 
+------------+----------+--------+
| Department | Employee | Salary |
+------------+----------+--------+
| IT         | Jim      | 90000  |
| Sales      | Henry    | 80000  |
| IT         | Max      | 90000  |
+------------+----------+--------+
<strong>Explanation:</strong> Max and Jim both have the highest salary in the IT department and Henry has the highest salary in the Sales department.
</pre>

['highest-grade-for-each-student']
['Create table If Not Exists Employee (id int, name varchar(255), salary int, departmentId int)', 'Create table If Not Exists Department (id int, name varchar(255))', 'Truncate table Employee', "insert into Employee (id, name, salary, departmentId) values ('1', 'Joe', '70000', '1')", "insert into Employee (id, name, salary, departmentId) values ('2', 'Jim', '90000', '1')", "insert into Employee (id, name, salary, departmentId) values ('3', 'Henry', '80000', '2')", "insert into Employee (id, name, salary, departmentId) values ('4', 'Sam', '60000', '2')", "insert into Employee (id, name, salary, departmentId) values ('5', 'Max', '90000', '1')", 'Truncate table Department', "insert into Department (id, name) values ('1', 'IT')", "insert into Department (id, name) values ('2', 'Sales')"]
[{"value": "mysql", "text": "MySQL", "defaultCode": "# Write your MySQL query statement below\n"}, {"value": "mssql", "text": "MS SQL Server", "defaultCode": "/* Write your T-SQL query statement below */\n"}, {"value": "oraclesql", "text": "Oracle", "defaultCode": "/* Write your PL/SQL query statement below */\n"}, {"value": "pythondata", "text": "Pandas", "defaultCode": "import pandas as pd\n\ndef department_highest_salary(employee: pd.DataFrame, department: pd.DataFrame) -> pd.DataFrame:\n    "}, {"value": "postgresql", "text": "PostgreSQL", "defaultCode": "-- Write your PostgreSQL query statement below\n"}]
{"mysql": ["Create table If Not Exists Employee (id int, name varchar(255), salary int, departmentId int)", "Create table If Not Exists Department (id int, name varchar(255))"], "mssql": ["Create table Employee (id int, name varchar(255), salary int, departmentId int)", "Create table Department (id int, name varchar(255))"], "oraclesql": ["Create table Employee (id int, name varchar(255), salary int, departmentId int)", "Create table Department (id int, name varchar(255))"], "database": true, "name": "department_highest_salary", "pythondata": ["Employee = pd.DataFrame([], columns=['id', 'name', 'salary', 'departmentId']).astype({'id':'Int64', 'name':'object', 'salary':'Int64', 'departmentId':'Int64'})", "Department = pd.DataFrame([], columns=['id', 'name']).astype({'id':'Int64', 'name':'object'})"], "postgresql": ["Create table If Not Exists Employee (id int, name varchar(255), salary int, departmentId int)", "Create table If Not Exists Department (id int, name varchar(255))"], "database_schema": {"Employee": {"id": "INT", "name": "VARCHAR(255)", "salary": "INT", "departmentId": "INT"}, "Department": {"id": "INT", "name": "VARCHAR(255)"}}}
{"mysql": ["MySQL", "<p><code>MySQL 8.0</code>.</p>"], "mssql": ["MS SQL Server", "<p><code>mssql server 2019</code>.</p>"], "oraclesql": ["Oracle", "<p><code>Oracle Sql 11.2</code>.</p>"], "pythondata": ["Pandas", "<p>Python 3.10 with Pandas 2.2.2 and NumPy 1.26.4</p>"], "postgresql": ["PostgreSQL", "<p>PostgreSQL 16</p>"]}
['Database']