数学运算:+-*/
SELECT 字段 [+-*/]字段 FROM 表名;
需求1:查询所有货品的id,名称和批发价(批发价=卖价*折扣)
SELECT id,product_name, sale_price*cutoff as trade_price FROM product;
需求2:查询所有货品的id,名称,和各进50个的成本价(成本=costPirce)
SELECT id,product_name,cost_price*50 FROM product;
需求3:查询所有货品的id,名称,各进50个,并且每个运费1元的成本
SELECT id,product_name,(cost_price+1)*50 FROM product;
条件查询:
SELECT
FROM 表名
WHERE 条件;
使用运算符来定义条件:= > >= < <= !=(<>)
需求1: 查询货品零售价为119的所有货品信息.
SELECT *
FROM product
WHERE sale_price = 119;
需求2: 查询货品名为罗技G9X的所有货品信息.
SELECT *
FROM product
WHERE product_name = 'logicG9X';
需求3 :查询货品名不为罗技G9X的所有货品信息.
SELECT *
FROM product
WHERE product_name != 'logicG9X';
需求4:查询id,货品名称,批发价(salePrice*cutoff)大于350的货品
SELECT id,product_name,sale_price*cutoff as '批发价'
FROM product
WHERE sale_price*cutoff>350;
使用逻辑运算符定义条件:AND/&& OR
NOT:在表达式之前使用NOT
需求1: 选择id,货品名称,批发价(saleprice*cutoff)在300-400之间的货品
SELECT id,product_name, sale_price*cutoff as 'trade_price'
FROM product
WHERE sale_price*cutoff>=300 && sale_price*cutoff<=400;
需求2: 选择id,货品名称,分类编号为2,4的所有货品
SELECT id,product_name,category_id
FROM product
WHERE category_id=2 OR category_id=4;
需求3: 选择id,货品名词,分类编号不为2的所有商品
SELECT id,product_name,category_id
FROM product
WHERE NOT category_id = 2;
使用范围查询作为条件:
BETWEEN 值 AND 值
需求1: 选择id,货品名称,批发价不在300-400之间的货品
SELECT id,product_name,sale_price*cutoff
FROM product
WHERE NOT sale_price*cutoff BETWEEN 300 AND 400;
IN:集合查询
需求:选择id,货品名称,分类编号为2,4的所有货品
SELECT id,product_name,category_id
FROM product
WHERE category_id IN(2,4);
NULL查询:判断一个值是否是null,不能使用=null,应该使用is null
需求: 查询商品名为null的所有商品信息
SELECT *
FROM product
WHERE product_name is null;
模糊查询:% _
%:任意多个任意字符(包括0个)
_:1个任意字符
需求:查询id,货品名称,货品名称匹配'%罗技M9_'
SELECT id,product_name
FROM product
WHERE product_name LIKE '%logicM9_';
结果排序:
ORDER BY 指定字段 DESC/ASC;
DESC:降序 ASC:升序 默认是ASC
需求:查询M系列并按照批发价排序(加上别名)
SELECT sale_price*cutoff as 'trade_price'
FROM product
WHERE product_name LIKE '%M%'
ORDER BY sale_price*cutoff DESC ;
分页查询:
limit beginIndex,pageSize
beginIndex:开始索引
pageSize:数据数量
需求:每一页显示3条
第一页:
SELECT *
FROM product
LIMIT 0,3;
第二页:
SELECT *
FROM product
LIMIT 3,3;
第三页:
SELECT *
FROM product
LIMIT 6,3;
聚集函数:
COUNT(字段/*)
需求:查询商品总记录数
SELECT COUNT(*)
FROM product;
MAX(字段) MIN(字段) SUM(字段) AVG(字段)
需求: 查询商品的最小零售价,最高零售价,以及所有商品零售价总和
SELECT MIN(sale_price),MAX(sale_price),SUM(sale_price),AVG(sale_price)
FROM product;
分组函数:
GROUP BY 字段
需求1: 查询每个商品分类编号和每个商品分类各自的平均零售价(求2,3,4每类商品的平均零售价)
SELECT category_id,AVG(sale_price)
FROM product
GROUP BY category_id
HAVING category_id IN(2,3,4);
分组函数基本上与聚集函数配合使用。先执行分组,在执行聚集