mysql 全库查询关键字_数据库查询语句关键字总结
看過牛腩視頻后,前17集講后臺代碼的編寫,尤其講到查詢語句的時候,頓時感覺原來學習過的查詢語句中用到的關鍵字煙消云散了,啥都不記得了,通過看視頻,幫著回憶了一部分,在這里總結一下,查詢語句中用到的關鍵字的含義及使用。 一、select語句(單個表)
看過牛腩視頻后,前17集講后臺代碼的編寫,尤其講到查詢語句的時候,頓時感覺原來學習過的查詢語句中用到的關鍵字煙消云散了,啥都不記得了,通過看視頻,幫著回憶了一部分,在這里總結一下,查詢語句中用到的關鍵字的含義及使用。
一、select語句(單個表)
1.最簡單的查詢:
select * from [where ]
select column1,column2....from [where]
這里需要注意的是where子句中條件過濾使用到的關鍵字,比如用到邏輯運算符like 中的’%‘(匹配一個或多個字符)和’_‘(僅匹配一個)等。這個在新聞發布系統中也有用到。
例如:按標題搜索:
Select top 10 n.id,n.title,n.createtime,c.[name]
from news n inner join category c on c.caid=c.id
where n.title like '%' + @title + '%'
當然還有很多,例如between,not ,in等關鍵字的使用也很重要。
2.DISTINCT關鍵字
這個關鍵字,主要用來取出列中唯一的值,比如:記錄中的一個字段值(city)如果有重復(廊坊,北京,廊坊,北京),那么利用DISTINCT關鍵字取出唯一值,即任何重復的值只計數一次,結果為為:(廊坊,北京)。
select DISTINCT city from [table]
3.使用別名
利用別名可以顯示我們想要的名字,方便閱讀。select city as 城市 from ...
4.group by 和having子句
group by 用來對查詢到的結果集進行分組,必須位于select語句中的from子句或where子句之后。
having子句類似于where子句,緊跟在group by子后,作為一個查詢條件。
與where子句的區別:where子句作用于一條記錄中的查詢條件,而having子句則作用于一列的查詢條件
例如:
select location from citytable where city='北京' --查詢城市名為‘北京’的城市的位置
select city group by city having count(memberId)>=3 --查詢城市成員總數大于等于3的城市,同時按城市名分組
二、多表查詢
1、inner join
要求,查詢的多張表中必須具有相同的匹配項。其中on表示作用的表的條件,n,c 為別名
Select *
From news n
Inner join category c
on c.caid=c.id
要執行的查詢結果必須是在兩張表中同時含有相同的類別號的記錄才會被查詢出來。
例如:以牛腩視頻中例子為例:
category表中id表示新聞類別的id ,而news表中的caid則表示該新聞屬于具體哪個類別
那么執行上面查詢語句后的結果:
inner join表
可以看到結果為類別號在兩張表中均存在的項。inner join還包括等值聯合和不等值,這主要由on后面的條件決定
2.left join
左外連接:連接時,on條件左邊表所有項均查詢出來,而右邊表中若無匹配項,則以null代替
上面兩張表,執行
select * from category c left join news n on c.id=n.caid
結果為:
3.right join
顧名思義,右外連接結果與left join相反,將右邊表所有項查詢出來,而左邊表中無匹配項的則以null代替。
4.full join
無論左邊還是右邊所有項均返回結果。無對應項以null代替。
三、其它
除了以上涉及到的查詢關鍵字外,還涉及到了嵌套查詢,in關鍵字的使用,對sql記錄進行編號排序后按順序查詢等。利用
SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS Row --Row為別名
以上只是涉及到了一部分的查詢關鍵字的總結,也是經常用到的,逐漸學習,才發現原來的知識還是應該不斷的回憶和應用才能發現它更深一層應用的含義。更多關于數據庫的知識有待進一步實踐總結。
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的mysql 全库查询关键字_数据库查询语句关键字总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html期末作业代码网页设计 我的家乡网
- 下一篇: linux cmake编译源码,linu