Mysql | 總結 | 常用的查詢語句(單表查詢)
1. 查詢單表全部
select* from 數據表名;
2. 查詢單表中一個或者多個字段
select 字段1,字段2 from 數據表名;
3. 查詢單表中的指定信息
select* from 數據表名 where 屬性= .....;
查詢所有紅色的產品號
SELECT ProductNumber from SalesLT.Product WHERE Color = ‘Red‘
4. 帶有 IN 關鍵字的查詢
Select* from 數據表 where 字段 [NOT] IN (字段值1,字段值2…字段值n);
<註:最適於數組作為查詢條件,即:in (數組數據)>
5.帶BETWEEN and 的範圍查詢
select * from 數據表 where 字段 [NOT] BETWEEN 取值1 and 取值2;
6. 帶like的字符匹配查詢
select * from 數據表 where 屬性 like ‘%SQL%‘;//查詢屬性中包含SQL字符的數據
---查詢產品名稱中包含‘Road‘關鍵字的。
SELECT Name FROM SalesLT.Product WHERE Name like ‘%Road%‘ GO
select * from 數據表 where 屬性 like ‘a%b‘;// //查詢屬性中以a開頭以b結尾的字符串的數據
select * from 數據表 where 屬性 like ‘m_n‘;//查詢屬性中以m開頭以n結尾的3個字符的數據,中間的‘_’只能代表一個字符
7.帶AND的多條件查詢
select* from 數據表名 where 屬性= ..... AND 屬性=......;
--查詢成本價介於200到300之間的產品名稱和成本價。
SELECT Name,StandardCost FROM SalesLT.Product WHERE StandardCost >= 200 and StandardCost <= 300 GO
8. 帶OR的多條件查詢
select* from 數據表名 where 屬性= ..... OR 屬性=......;
--查詢LastName是Li、Liu、Lang的客戶姓名
SELECT concat(FirstName ,‘ ‘, LastName)as Name FROM SalesLT.Customer WHERE LastName = ‘Li‘ or LastName = ‘Liu‘ or LastName = ‘Lang‘ GO
9.用DISTINCT關鍵字去除結果中的重復行
查詢Address表中,不同的國家和省份。
Select DISTINCT CountryRegion,StateProvince from SalesLT.Address GO
10. 用ORDER BY 關鍵字對查詢結果排序
查詢所有產品,包括產品名稱、銷售價、成本價和利潤(銷售價與成本價之差),並按利潤從高到低的順序排序
select Name,ListPrice,StandardCost,ListPrice-StandardCost as profit from SalesLT.Product order by profit desc
11. 用GROUP BY關鍵字分組查詢
(1) 用GROUP BY關鍵字分組查詢
(2) GROUP BY 關鍵字與 GROU_CONCAT函數一起使用
(3)按多個字段進行分組
12. 用LIMIT限制查詢結果的數量
樣例:
--1.查詢所有客戶,將Title、FirstName和LastName合並成一列,之間用空格分開
SELECT CONCAT(Title,‘ ‘,FirstName,‘ ‘,LastName) AS name FROM SalesLT.Customer GO
--5. 查詢銷售價格小於100的產品號和銷售價格
SELECT ProductNumber,ListPrice from SalesLT.Product where ListPrice < 100 GO
--9. 查詢已停止銷售(SellEndDate不為空)的產品名稱,以及產品的銷售天數。 函數處理
SELECT Name,DATEDIFF(day,SellStartDate,SellEndDate) as Day FROM SalesLT.Product WHERE SellEndDate is not null GO
-- 10. 查詢客戶所在公司名稱中包含bike或bicycle的用戶名和公司名。
SELECT concat(FirstName ,‘ ‘, LastName)as Name,CompanyName FROM SalesLT.Customer WHERE CompanyName like ‘%bike%‘ or CompanyName like ‘%bicycle%‘ GO
--11. 查詢分類號(ProductCategaryID)是18,紅色的產品編號,並按尺寸從小到大的順序排列
SELECT ProductNumber from SalesLT.Product WHERE Color = ‘Red‘ and ProductCategoryID = 18 order by Size GO
--12. 匯總所有訂單的小計值、稅款、運費和總金額。 Sum求和
SELECT SUM(SubTotal ) as SubTotal ,SUM(TaxAmt)as TaxAmt, SUM(Freight) as Freight,SUM(TotalDue) as TatalDue from SalesLT.SalesOrderHeader go
--13. 查詢累計訂單總金額超過10萬的客戶號和總金額。
SELECT CustomerID ,SUM(SubTotal) as SubTotal from SalesLT.SalesOrderHeader where SubTotal>100000 group by CustomerID go
Mysql | 總結 | 常用的查詢語句(單表查詢)