ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MYSQL中的主要查询方法

2019-06-10 13:48:07  阅读:269  来源: 互联网

标签:cid 查询方法 cprice 查询 主要 MYSQL test WHERE SELECT


#简单查询

#查询表中的所有数据
SELECT * FROM test;

#查询表中的指定列的数据
SELECT cid,cname FROM test;

#过滤重复的数据
SELECT DISTINCT category FROM test;

# 给表起别名(只是显示名改变实际名称未改变)
SELECT * FROM test AS te;
SELECT * FROM test te;

#给表中的字段起别名;若有想加入的数据有空格需引号引起来
SELECT cname AS 商品名称,cprice AS 商品价格 FROM test;
SELECT cname 商品名称1,cprice '商品 价格1' FROM test;

#查询 语句中 可以直接进行数据运算
SELECT (1+1);

#查询商品名称和商品的价格涨价 商品价格+1000
SELECT * FROM test;
SELECT cname,cprice+1000 AS cprice FROM test;
SELECT cid+1000 FROM test;


#分页查询
# 只要查询前6条
SELECT * FROM test LIMIT 6;
# 分页查询 每页显示五条 查询第一页
SELECT * FROM test LIMIT 0,5;
# 分页查询 每页显示五条 查询第二页
SELECT * FROM test LIMIT 5,5;
# 分页查询 每页显示五条 查询第二页
SELECT * FROM test LIMIT 10,5;

 

# 模糊查询

# 查询商品名称以‘海澜’开头的商品信息 %表示多个字符
SELECT * FROM test WHERE cname LIKE '海澜%';

# 查询商品名称以‘海澜’开头且后方有两个字符的商品信息
SELECT * FROM test WHERE cname LIKE '海澜__';

# 查询商品名称有三个字符的商品信息 _表示单个字符
SELECT * FROM test WHERE cname LIKE '___';

#若需查询带有%字符的信息,可以加转译字符\或者自定义转译字符
SELECT * FROM test WHERE cname LIKE '%:%%' ESCAPE ':';


#条件查询
#在查询语法中可以在后方加入 逻辑约束条件; 确定查询范围

#查询商品名称为海澜之家的商品的所有的信息
SELECT * FROM test WHERE cname='海澜之家';
#查询价格为5000的商品
SELECT * FROM test WHERE cprice=5000;
#查询价格不为5000的商品
SELECT * FROM test WHERE cprice!=5000;
SELECT * FROM test WHERE cprice<>5000;
#查询价格大于500的商品
SELECT * FROM test WHERE cprice>500;
#查询价格10-1000之间的商品
SELECT * FROM test WHERE cprice>=10 && cprice<=1000;
SELECT * FROM test WHERE cprice BETWEEN 10 AND 100;
#查询价格是10或者是46元的商品
SELECT * FROM test WHERE cprice IN(19,46);
SELECT * FROM test WHERE cprice=19 OR cprice=5000;
#按分类的不同查询
SELECT * FROM test WHERE category IS NULL;# 是空
SELECT * FROM test WHERE category IS NOT NULL;# 是不空
SELECT * FROM test WHERE NOT(category IS NULL);#与上一条效果相同

#查询某范围内的数可以用in
SELECT * FROM test WHERE cid IN(1,2,3,4);

#查询两种不同类型的限制可以用or,若需要同时满足两种用and即可
SELECT * FROM test WHERE cid IN(1,2,3,4) OR cname LIKE ('___');


#排序查询 ASC 升序 DESC 降序

#升序查询
SELECT * FROM product ORDER BY price ASC;
#默认排序查询,默认升序
SELECT * FROM product ORDER BY price;
#降序查询
SELECT * FROM product ORDER BY price DESC;

#显示价格 去掉重复的价格 并依照价格降序
SELECT DISTINCT price FROM product ORDER BY price DESC;

#对文本类型的分类也可以进行降序排序,不过规则不同
SELECT * FROM product ORDER BY category_id DESC;

 


#聚合(函数)查询

#count 统计指定列不为null 行数,不建议用COUNT(*),如果有需要用COUNT(1)效率高;
SELECT COUNT(cname) FROM test;

#sum 指定列的数值和 如果指定的列不是数值类型 结果为0
SELECT SUM(cprice) FROM test;

#max指定列的最大值 如果指定的列是字符串类型 使用字符串排序运算
SELECT MAX(cprice) FROM test;

#min指定列的最小值 如果指定的列是字符串类型 使用字符串排序运算
SELECT MIN(cprice) FROM test;

#avg 平均值 如果指定的列不是数值类型 那么计算结果为零
SELECT AVG(cprice) FROM test;

#查询分别满足条件的值
#select count(字段|*),sum(字段),max(字段),min(字段),avg(字段)from 表名;
SELECT COUNT(cprice),SUM(cprice),MAX(cprice),MIN(cprice),AVG(cprice) FROM test;

 

#分类查询

#按商品的类别进行分组 统计各个分类商品的个数
SELECT category_id,COUNT(*) FROM product GROUP BY category_id;

#按商品的类别进行分组 统计各个分类商品的平均价格
SELECT category_id,AVG(price) FROM product GROUP BY category_id;


#where 用于分组前进行条件过滤
#having 用于分组后 对分完组的数据进行过滤

# 先按商品的类别分组 统计各个分组商品的个数 只查询每组商品大于200的商品
SELECT category_id,COUNT(*) FROM product WHERE price>200 GROUP BY category_id;

# 先按商品的类别分组 统计各个分组商品的个数 只显示统计个数等于三的信息
SELECT category_id,COUNT(*) FROM product GROUP BY category_id HAVING COUNT(*)=3;

 

#连接查询

#内连接,查询的数据在多个有关联的表中
SELECT cgtable.cid,test.cname,test.category
FROM test INNER JOIN cgtable#确定连接方式,inner为内连接,outer为外连接
ON test.cid=cgtable.cid;#确定连接条件

#外连接,又分为(左)右连接查询方式与内相同但结果记录不同
SELECT cgtable.cid,test.cname,test.category
FROM test LEFT JOIN cgtable
ON test.cid=cgtable.cid;

#在内连接中不满足条件的数据不显示,外连接则可以显示
#不过依据左右连接的不同,保留的数据不同,没有的数据显示为null

#自连接,可视为对两个相同的表进行连接查询
SELECT t.cid,t.cname,s.category
FROM test AS t,test AS s
WHERE t.cid=s.cid;

#等值连接,效果与内连接相同
SELECT cgtable.cid,test.cname,test.category
FROM test,cgtable
WHERE test.cid=cgtable.cid;

#非等值连接,返回所有匹配记录,所得行数=表a的行数*表b的行数
SELECT cgtable.cid,test.cname,test.category
FROM test,cgtable;


#子查询,即在WHERE内部嵌套另一个查询条件
SELECT cgtable.cid,test.cname,test.category
FROM test,cgtable
WHERE test.cid=(SELECT cid FROM test WHERE cid=4);

标签:cid,查询方法,cprice,查询,主要,MYSQL,test,WHERE,SELECT
来源: https://www.cnblogs.com/YLTzxzy/p/10997265.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有