(一)基本語句:select
、from
、where
、order
、limit
一段sql語言例項如下:
select col1, col2
from table1
where col3 > 5
and col4 like
'%os%'
order
by col5
limit 10;
select
:查詢語句
格式如下:
select *
from orders;
(二)一些用法
select *
from demo.orders
order
by occurred_at
limit 10
預設公升序排列(ascending)
末尾加desc
:降序排列
select account_id,total_amt_usd
from orders
order
by account_id,total_amt_usd desc
-- id遞增,且在id相同的前提下,total_amt_usd降序排列
select account_id,total_amt_usd
from orders
order
by total_amt_usd desc,account_id
-- total_amt_usd嚴格降序排列
select *
from orders
where count_id=4251
order
by occurred_at
limit 100
其中,where
要放在from
之後,order by
或limit
之前
支援非值查詢,用單引號括起來
select account_id,
occurred_at,
standard_qty,
gloss_qty,
poster_qty,
gloss_qty + poster_qty as nonstandard_qty
from orders
可以新增新的列,名字為:nonstandard_qty
命名慣例:無**和空格
練習:
編寫乙個查詢,查詢每個訂單海報紙的收入百分比。 只需使用以 _usd 結尾的列。 (在這個查詢中試一下不使用總列)。包含 id 和 account_id 字段
select id,account_id,poster_amt_usd/(standard_amt_usd+gloss_amt_usd+poster_amt_usd) as post_per
from orders
limit 10
select *
from web_events_full
where referer_url like
'%google%';
%代表任意數量的字元
select *
from accounts
單引號(『』)將字串括起來,值可以直接輸入
select *
from accounts
where account_id in(1001,1021)
調出賬戶裡的1001號和1021號的資訊
select sales_rep_id,name
from accounts
where sales_rep_id not
in(321500,321570)
order
by sales_rep_id
select *
from orders
where occurred_at >= '2016-04-01'
and occurred_at <= '2016-10-01'
order
by occurred_at desc
練習
使用客戶表查詢所有不以 『c』 開始但以 『s』 結尾的公司名
select name
from accounts
where name not
like
'c%'
and name like
'%s'
練習
使用 web_events 表查詢通過 organic 或 adwords 聯絡,並在 2016 年的任何時間開通帳戶的個人全部資訊,並按照從最新到最舊的順序排列。
select *
from web_events
where channel in('organic','adwords') and occurred_at between '2016-01-01'
and'2017-01-01'
order
by occurred_at desc
--between 一般情況下不包括端點值,假設時間是 00:00:00(即午夜),這就是我們將右邊的時間點設定為 '2017-01-01' 的原因了
select account_id,
occurred_at,
standard_qty,
gloss_qty,
poster_qty
from orders
where (standard_qty = 0
or gloss_qty = 0
or poster_qty = 0)
and occurred at >= '2016-10-01'
練習
查詢以 『c』 或 『w』 開頭的所有公司名 (company names),主要聯絡人 (primary contact) 包含 『ana』 或 『ana』,但不包含 『eana
select *
from accounts
where name like
'c%'
or name like
'w%'
and(primary_poc like
'%ana%'
or primary_poc like
'%ana%')
and primary_poc not
like
'%eana%'
sql命令概述語句
使用方法
其他詳細資訊
select
select col1,col2,…
提供你需要的列
from
from table
提供列所在的**
limit
limit
10order by
order by col
根據列命令**。與 desc 一起使用
where
where col > 5
用於過濾結果的乙個條件語句
like
where col like 『%me%』
僅提取出列文字中具有 『me』 的行
inwhere col in (『y』, 『n』)
僅過濾行對應的列為 『y』 或 『n』
notwhere col not in (『y』, 「n』)
not 經常與 like 和 in 一起使用
andwhere col1 > 5 and col2 < 3
過濾兩個或多個條件必須為真的行
orwhere col1 > 5 or col2 < 3
過濾乙個條件必須為真的行
between
where col between 3 and 5
一般情況下,語法比使用 and 簡單一些
其他
select col1, col2
from table1
where col3 > 5
and col4 like
'%os%'
order
by col5
limit 10;
移動平均值
移動平均值用於將資料線性化,以便更容易觀察長期趨勢,也不會因日常波動而錯亂。
例如,假設你想視覺化服裝零售店的銷售趨勢。從每天的資料開始,而圖表看起來太不穩定,因為更多的人在週末購物,所以銷售額會在週末飆公升。
使用移動平均值可使每日波動平滑一些,也可以觀察長期趨勢。
SQL基礎知識
本篇文章是講解sql的基礎知識,但也講得不全面,我只記錄了自己不懂的或者不熟悉的東西。一 在sql中簡單的查詢 1.重複的記錄 distinct 可以通過在選擇列表前的select語句中插入關鍵字distinct來消除重複的查詢結果記錄。比如 select distinct city from ci...
SQL基礎知識
sql作用 1.面向資料庫執行查詢 2.可從資料庫取回資料 3.可在資料庫中插入新的記錄 4.可更新資料庫中的資料 5.可從資料庫刪除記錄 6.可建立新資料庫 7.可在資料庫中建立新錶 8.可在資料庫中建立儲存過程 9.可在資料庫中建立檢視 10.可以設定表 儲存過程和檢視的許可權。資料庫操作語句 ...
SQL基礎知識
資料庫就是資料的倉庫,dbms資料庫管理系統同來對大資料的管理 檢索,就是對資料庫的管理。乙個dbms可以管理多個資料庫,這些不同的資料庫叫catalog或database,dbms允許把不同的database儲存在不同磁碟,每個資料庫中的表名不能相同。table 表,把不同型別的資料放到不同的區域...