1. 程式人生 > >2018.8.7~8.8SQL資料庫學習筆記

2018.8.7~8.8SQL資料庫學習筆記

最近這幾天在一間公司實習,由於坐在我旁邊的小哥是搞資料庫運維的,想到下學期要進行資料庫的學習,於是順便自學了一下SQL資料庫語言

在leetcode上邊做題邊自學

 

SQL語言對大小寫不敏感!!!

 

一開始是最基本的篩選輸出

使用select語句選擇所需要輸出的項

使用from語句選擇源表

最後使用where語句進行資料的篩選(595.大的國家)

 

隨後題目要篩選出重複項

繼續使用select from 只是最後需要使用 having count(項)>1來篩選出所需要的專案(182.查詢重複的電子郵箱)

 

之後還是篩選的題 只是要某項不等於某個字串,這個時候字串要記得使用單引號,除此以外相等並不是熟悉的== 而是一個等號=

排序的話使用order by函式 預設從小到大排序 如需從大到小排序則需要加 desc(620.有趣的電影)

 

對於需要變換的題目

則要 update 表名稱

隨後使用set = (條件)進行變換(627.交換工資)

 

對於兩個表的組合 則要 select 表名.列名

from哪個表 left join 另一個表 on 由什麼條件進行左加

對於不符合條件的項,依舊會左加入另一個表的項,只是會使用預設值null(175.組合兩個表)

 

對於比較複雜的一個表項關聯另一個項並且進行對比的題目,可以使用一些變數進行定義

並且對於表頭的變換可以使用select 變數的表項 as 新表頭 from 舊錶 變數(181.超過經理收入的員工)

 

在一個新表頭中記錄舊錶1在舊錶2中不存在的專案:

新表頭:select as from

left join on 左加

在這裡並不能使用 選擇項=null的做法

(詳見資料庫查詢—is null與= null的區別

要使用 選擇項 is null 才可以正確篩選出所需要的項(183.從不訂購的客戶)

 

對某個表中某重複項進行刪除,此時由於表中不止一項,所以刪除時不能使用distinct

要使用delect語句 delect from (表或者表中項)where(條件)(196.刪除重複的電子郵箱)