Mysql中子查询的常用语句
来源:互联网 发布:淘宝装修怎么弄全屏 编辑:程序博客网 时间:2024/05/24 05:31
子查询的一些语句
实例:
SELECT * FROM t1 WHERE column = (SELECT column FROM t2);
求平均数,并四舍五入保留两位小数:
SELECT ROUND(AVG(number),2) FROM table;
查询大于平均数的项,并且按照number的降序排列:
SELECT id,name,number FROM table WHERE number > (SELECT ROUND(AVG(number),2) FROM table ORDER BY number DESC;
查询大于或等于“某一类别的”的编号的其他行,并且按照number降序排列
SELECT id,name,number FROM table WHERE number >= SOME(SELECT number FROM table WHERE classify = "某一类")ORDER BY number DESC;
查询结果分组
SELECT classify FROM table GROUP BY classify;
内连接
//查找id,name,classify_name,brand_name//其中 classify_name字段在table_classify中,brand_name在table_brand中//table中只保存对应的idSELECT id,name,classify_name,brand_name FROM table AS a INNER JOIN table_classify AS b ON a.classify_id = b.clasify_idINNER JOIN table_brand AS c ON a.brand_id = c.brand_id;
无限分类的数据表
/*比如在图书馆分类系统中,有父分类,子分类。组织起来的方式可以是,在一张表中存储 所有的分类,然后每个分类的字段为id,classify,parent , 其中,parent字段是父 分类的id号。这个时候要内连接表自身。*/
查询所有分类及其父分类
//采用左连接,显示所有分类,若没有父亲,即显示为NULLSELECT s.id,s.classify,p.classify FROM table AS s LEFT JOIN table AS p ON s.parent = p.id;
查询所有分类及其子类
//有多个子类的类会占多行SELECT p.id,p.classify,s.classify FROM table AS p LEFT JOIN table AS s ON s.parent = p.id;
查找所有分类及其子类的数目
//首先是结果为 父类编号,父类名,子类数目。//结果就是按照父类名分组,并且显示该分组下的子类的数目//并且结果按照父类的编号排序 默认从小到大SELECT p.id,p.classify,COUNT(s.classify) AS childrenNum FROM table AS pLEFT JOIN table AS s ON s.parent = p.idGROUP BY p.classify ORDER BY p.id;
查找重复记录
//比如只有2个行是同样的name 那么结果集就是1行 并且是编号较小的那一行SELECT id,name FROM table GROUP BY name HAVING COUNT(name) > 1;
删除重复记录
/*首先是子查询得到了上面的重复的结果集,然后当原表中的name等于重复表的name时 就应该要删除掉,并且我们这里是删除掉编号更大的,保留编号最小的一个。*/DELETE t1 FROM table AS t LEFT JOIN (SELECT id,name FROM table GROUP BY name HAVING COUNT(name) > 1 )AS t2 ON t1.name = t2.name WHEREt1.id > t2.id;
阅读全文
1 0
- Mysql中子查询的常用语句
- MySQL中子查询的应用
- mysql中子查询和连接的使用
- 浅谈mysql中子查询
- MYSQL常用查询语句
- mysql常用查询语句
- MySQL常用查询语句
- mysql常用查询语句
- mysql常用查询语句
- MySQL常用查询语句
- mysql常用查询语句
- Mysql常用查询语句
- MySQL常用查询语句
- mysql常用查询语句
- MySQL常用查询语句
- mysql:常用查询语句
- 常用MySql查询语句
- Mysql常用查询语句
- CSS相关面试题汇总笔记
- HTML总结
- js中的map()方法
- 字符串替换
- sql之left join、right join、inner join的区别
- Mysql中子查询的常用语句
- 【Twitter Storm系列】flume+Kafka+Storm+HDFS 实时系统搭建
- 今天的收获
- Android ContentProvider
- git pull :因为文件冲突pull失败
- PHP实现异步调用方法研究与分享
- Java实现-搜索二维矩阵II
- python----socket(一)
- 关于LVM管理PVcreate过程中错误Device /dev/sdb not found (or ignored by filtering)