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 才可以正確篩選出所需要的項(183.從不訂購的客戶)
對某個表中某重複項進行刪除,此時由於表中不止一項,所以刪除時不能使用distinct
要使用delect語句 delect from (表或者表中項)where(條件)(196.刪除重複的電子郵箱)