前言
今天要開始練習SQLite基本的語法
介紹內容有
這裡使用到的資料是Kaggle上關於Spotify音樂榜單的資料庫
kaggle
基礎語法 SQL
先來看SQL查詢資料的基本形式,
接下來幾天會詳細介紹要怎麼從資料庫中利用這些語法找出指定資料
SELECT query
SELECT column, another_column, …
FROM mytable
WHERE condition(s)
ORDER BY column ASC/DESC
LIMIT num_limit OFFSET num_offset;
要注意的是SQL需要按照上述的寫作順序排!
先來看一段例子
SELECT
& FROM
SELECT *
FROM top50
LIMIT 5;
來解釋每個語法的意思
因此這段話的意思就是從top50這張資料表上選擇所有欄位的資料
但是限制顯示的資料列數在第5列
保留字大小寫不會影響執行結果的對錯。
寫作一段 SQL 可以單行或者換行並搭配縮排。
SELECT trackname, artistname, genre
FROM top50
LIMIT 5;
可以看到只會出現想要的三個欄位的數據
AS
用來改變變數名稱,使用AS為查詢結果中的變數取別名:
先來看原本的欄位變數名稱的樣子
現在來改變變數名稱
假如想讓Trackname跟Artistname分別變成
track_name, artist_name
可以輸入下列式子
SELECT Trackname AS track_name, --AS後面接的是變數的別名
Artistname AS artist_name,
FROM top50
LIMIT 5;
輸出的會是選擇的欄位,並且顯示改變過後的欄位變數名稱
要注意的是只會改變在查詢後顯示的結果,並不會改變到原始資料表中的欄位名稱
DISTINCT
使用 DISTINCT 省略查詢結果中重複的資料
先看原本Genre欄位裡,資料原本的樣子
SELECT genre
FROM top50
LIMIT 14;
可以看到資料裡會出現重複的
此時使用DISTICT會只讓該欄位的獨一值出現
可以用來查看總共有多少種音樂類型
記得將選出的新欄位用AS取新的名稱
SELECT DISTINCT genre AS ditinct_genre
FROM top50;
從輸出的結果可以看出所有的資料類型分成21種
數值運算
假如現在想利用兩個數值相加來判斷歌曲
SELECT BPM,
energy,
BPM + energy AS evaluation
FROM top50
LIMIT 10;
可以看到新增的evalutaion欄位,是由左邊兩欄的數值相加而成
針對文字(TEXT)可以使用文字運算符計算衍生欄位
假設現在想將Trackname和Artistname兩個欄位的文字合併
並且取名新的欄位名稱singer_record
使用 ||
:兩個垂直線能夠連接文字。
SELECT Trackname,
Artistname,
Trackname|| ' ' || Artistname AS singer_record
FROM top50
LIMIT 10;
可以看到兩個欄位的文字成功的合併在一起
小結
今天的練習就到這裡~
明天會有更進階的查詢語法介紹