SQL JOIN語法 用UID取代員工ID Leetcode #1378

更新於 2023/12/29閱讀時間約 3 分鐘

題目敘述

題目會給我們兩張資料表。

第一張資料表是Employees

裡面分別有id、name等欄位。這張資料表的id是主鍵


第二張資料表是EmployeeUNI

裡面分別有id、unique_id等欄位。這張資料表的(id、unique_id)是複合主鍵id。


題目要求我們列出每位員工所對應到的unique_id,如果對應不到,則填上null


Table: Employees

+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| name | varchar |
+---------------+---------+
id is the primary key (column with unique values) for this table.
Each row of this table contains the id and the name of an employee in a company.

Table: EmployeeUNI

+---------------+---------+
| Column Name | Type |
+---------------+---------+
| id | int |
| unique_id | int |
+---------------+---------+
(id, unique_id) is the primary key (combination of columns with unique values) for this table.
Each row of this table contains the id and the corresponding unique id of an employee in the company.

詳細的題目可在這裡看到


約束條件

列出每位員工所對應到的unique_id,如果對應不到,則填上null


演算法

Employees 和 ​EmployeeUNI 做 LEFT JOIN ​

連接的條件為 e.id = e_uni.id

假如第一次接觸SQL或者JOIN語法的同學,可參考 LEFT JOIN 語法教學


程式碼

SELECT e_uni.unique_id, e.name
FROM Employees e LEFT JOIN EmployeeUNI e_uni
ON e.id = e_uni.id;

Reference:

[1] MySQL by LEFT JOIN - Replace Employee ID With The Unique Identifier - LeetCode

avatar-img
90會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
題目敘述 題目會給我們一張Tweets資料表。裡面分別有tweet_id、content等欄位。這張資料表的tweet_id是主鍵Primary key。 題目要求我們列出所有非法的推文。輸出順序不拘。 非法推文的定義,推文內容的長度超過15個字元。
題目敘述 題目會給我們一張Views資料表。裡面分別有article_id、author_id、viewer_id、view_date等欄位。題目說這張資料表沒有主鍵Primary key,而且可能有重複欄位。 題目要求我們列出所有讀過自己寫的文章的作者ID 輸出答案時,請以作者ID做升序排列
題目敘述 題目會給我們一張Products資料表。裡面分別有product_id、new_price、change_date等欄位。其中(product_id, change_date)是這張資料表的複合主鍵Primary key。 所有商品預設都是10元。之後若有更新,則以新價格為主。 要求
題目會給我們一張資料表Queue,代表乘客排隊上車的情境。 裡面分別有person_id、 person_name 、weight、turn等欄位,分別代表乘客ID、乘客姓名、乘客重量、乘客排隊的順序。 要求我們判斷,在不超重的條件下,最後一位上車的乘客是誰。
題目敘述 題目會給我們一張資料表Triangle。 裡面分別有x、 y、z等欄位,分別代表三個邊長。其中(x、 y、z)做為複合主鍵Primary key 要求我們判斷,每條data row裡面的x, y, z 能否構成一個合法的三角形? 如果可以,返回字串"Yes";如果不行,返回字串"No
題目敘述 題目會給我們一張Employee 資料表。裡面分別有employee_id、department_id 、primary_flag 等欄位。其中(employee_id, department_id) 是這張資料表的複合主鍵Primary key。 要求我們列出每一位員工的主要歸屬
題目敘述 題目會給我們一張Tweets資料表。裡面分別有tweet_id、content等欄位。這張資料表的tweet_id是主鍵Primary key。 題目要求我們列出所有非法的推文。輸出順序不拘。 非法推文的定義,推文內容的長度超過15個字元。
題目敘述 題目會給我們一張Views資料表。裡面分別有article_id、author_id、viewer_id、view_date等欄位。題目說這張資料表沒有主鍵Primary key,而且可能有重複欄位。 題目要求我們列出所有讀過自己寫的文章的作者ID 輸出答案時,請以作者ID做升序排列
題目敘述 題目會給我們一張Products資料表。裡面分別有product_id、new_price、change_date等欄位。其中(product_id, change_date)是這張資料表的複合主鍵Primary key。 所有商品預設都是10元。之後若有更新,則以新價格為主。 要求
題目會給我們一張資料表Queue,代表乘客排隊上車的情境。 裡面分別有person_id、 person_name 、weight、turn等欄位,分別代表乘客ID、乘客姓名、乘客重量、乘客排隊的順序。 要求我們判斷,在不超重的條件下,最後一位上車的乘客是誰。
題目敘述 題目會給我們一張資料表Triangle。 裡面分別有x、 y、z等欄位,分別代表三個邊長。其中(x、 y、z)做為複合主鍵Primary key 要求我們判斷,每條data row裡面的x, y, z 能否構成一個合法的三角形? 如果可以,返回字串"Yes";如果不行,返回字串"No
題目敘述 題目會給我們一張Employee 資料表。裡面分別有employee_id、department_id 、primary_flag 等欄位。其中(employee_id, department_id) 是這張資料表的複合主鍵Primary key。 要求我們列出每一位員工的主要歸屬
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文將介紹 SQL 中的萬用字元(Wildcard),萬用字元在 SQL 查詢中扮演著關鍵角色,特別是當我們需要對數據進行模糊查找時,接下來會透過範例程式碼來解釋如何使用這些萬用字元。
Thumbnail
本文將介紹幾種常見的 SQL 約束,包括主鍵(PRIMARY KEY)、外鍵(FOREIGN KEY)、唯一(UNIQUE)、非空(NOT NULL)和檢查(CHECK)約束,接下來將透過範例程式碼來帶你了解這些約束的使用方式。
Thumbnail
本文將介紹如何使用 SQL 的 CREATE TABLE 指令來創建資料表,接下來將透過範例程式碼,帶你從基本語法開始了解 CREATE TABLE。
Thumbnail
本文將介紹 SQL 中的SELECT語句,這是從資料庫中查詢數據的基本命令,理解並掌握SELECT語句是學習SQL的重要一步。SELECT 語句是什麼?SELECT語句是 SQL 中用於從資料庫表格中查詢特定數據的基本命令,它可以讓您選擇特定的欄位,從而精確地獲取所需的數據。
Thumbnail
SQL 是一種專門用來和資料庫進行溝通的程式語言,它讓我們能夠創建資料表、新增、查詢、修改和刪除資料庫中的資料,本文將介紹基本的創建、新增、查詢、修改和刪除的 SQL 語法。
今天寫程式連結資料庫,遇見這樣的錯誤 環境 .NET Core 6 / VS 2022 解決方法:DB連結字串 ConnectionString 需要額外加上 TrustServerCertificate=true。不然會出現錯誤 以 appsettings.json 設定檔為例
Thumbnail
假如你開發了一個網站,有user登入的功能,駭客故意輸入SQL語法來破壞原本的SQL結構,這就是SQL注入攻擊。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
本文將介紹 SQL 中的萬用字元(Wildcard),萬用字元在 SQL 查詢中扮演著關鍵角色,特別是當我們需要對數據進行模糊查找時,接下來會透過範例程式碼來解釋如何使用這些萬用字元。
Thumbnail
本文將介紹幾種常見的 SQL 約束,包括主鍵(PRIMARY KEY)、外鍵(FOREIGN KEY)、唯一(UNIQUE)、非空(NOT NULL)和檢查(CHECK)約束,接下來將透過範例程式碼來帶你了解這些約束的使用方式。
Thumbnail
本文將介紹如何使用 SQL 的 CREATE TABLE 指令來創建資料表,接下來將透過範例程式碼,帶你從基本語法開始了解 CREATE TABLE。
Thumbnail
本文將介紹 SQL 中的SELECT語句,這是從資料庫中查詢數據的基本命令,理解並掌握SELECT語句是學習SQL的重要一步。SELECT 語句是什麼?SELECT語句是 SQL 中用於從資料庫表格中查詢特定數據的基本命令,它可以讓您選擇特定的欄位,從而精確地獲取所需的數據。
Thumbnail
SQL 是一種專門用來和資料庫進行溝通的程式語言,它讓我們能夠創建資料表、新增、查詢、修改和刪除資料庫中的資料,本文將介紹基本的創建、新增、查詢、修改和刪除的 SQL 語法。
今天寫程式連結資料庫,遇見這樣的錯誤 環境 .NET Core 6 / VS 2022 解決方法:DB連結字串 ConnectionString 需要額外加上 TrustServerCertificate=true。不然會出現錯誤 以 appsettings.json 設定檔為例
Thumbnail
假如你開發了一個網站,有user登入的功能,駭客故意輸入SQL語法來破壞原本的SQL結構,這就是SQL注入攻擊。