1. 程式人生 > >Mysql | 總結 | 常用的查詢語句(單表查詢)

Mysql | 總結 | 常用的查詢語句(單表查詢)

res cat span pan sta 產品 from ted http

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 | 總結 | 常用的查詢語句(單表查詢)