1 從表中檢索所有的行或列
使用*字元(*代表所有資料)
例如select *from emp查詢表emp中所有資料
使用where 可以返回指定行
如select *from emp where id=?
使用具體字段返回個別列
如 :select empno,name,age,salary,job from emp
只返回 部門 姓名 年齡 工資 職業 這幾列
2舉個栗子:
檢視部門號碼為10的所有員工:
select * from emp where id=10;
3查詢滿足多個條件的行
select * from emp where deptno =10
or comm is not null
or sal <=2000 and deptno=20;
or相當於或 and相當於且
4 改變查詢所返回的列名
使用as
如select sal as salary,comm as commssion from emp;
5select * from(select sal as salary,comm as commission from emp)x where salary
<5000
6 select concat(ename,『work as a』,job)as msg from where deptno=10;
work as a 代表連線ename 和 job兩個字段
7 case表示式可以針對查詢返回值執行條件邏輯。可以給case表示式取別名
select ename,sal,case when sal<=2000 then 『underpaid』
when sal>=4000 then 『overpaid』
else 『ok』
end as status from emp
endas代表新加乙個欄位名用來存放別名
8,select * from emp limit 5
返回前5行
9,select ename ,job from emp order by
rand() limit 5
其中order by 代表用什麼排序 後面緊跟rand()隨機演算法 limit返回前5行
10,查詢空值
select *from emp where comm is null
其中 null不能用於作比較,它是代表資料庫不識別這個數,為了確定一行是否含有空值,必須使用is null 或者is not null來查詢給定列的值部位空的行
11,select case
when comm is null then 0
else comm
end from emp
12select ename,job from emp
where deptno in(10,20)
and (ename like '%i%'or job like 『%er』)
在部門10,20 中需要返回乙個帶有i 或者以er結尾的員工
SQLCookbook 學習筆記
許多人以一種馬馬虎虎的態度在使用sql,根本沒有意識到自己掌握著多麼強大的 本書的目的是開啟讀者的視野,看看sql究竟能幹什麼。一鱗半爪 從資料庫中檢索資料看似是一件容易的事情,然而,在it世界裡,盡可能高效地檢索資料至關重要。讀完本書,你不應該覺得要將現在所有 重寫,而是要認識到,現在sql已經有...
SQLCookbook 學習筆記 1檢索記錄
特殊字元 表示 所有列 使用 和指定某個列 效能相同。使用where 指定 要保留哪些行 判斷某個字段 是非為空 用 is null 或者 is not null 如 mysql select from menpiao where logdate is null 在使用 and 和or 的時候,可以...
跟我一起學習SQL Cookbook(學習日誌)
摘自譯者序 這本書有以下幾方面的特點 實用。這不是一本關於sql的教程,而是針對實際應用的需求提出了一百多個普遍性問題的解決方案,其中大部分都是從作者的日常實踐中提煉出來的。有一定經驗的sql開發人員會發現,對其中大多數問題自己都曾經有過類似的需求,將這裡的解決方案跟自己的做法對比一下一定會有所啟發...