sqlCookbook學習總結(一)

2021-09-02 14:08:26 字數 1533 閱讀 3433

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開發人員會發現,對其中大多數問題自己都曾經有過類似的需求,將這裡的解決方案跟自己的做法對比一下一定會有所啟發...