php mysql查询语句怎么写

php mysql查询语句的写法如:【select * from goods where goods_id in ( select max(goods_id) from goods group by cat_id);】。

php mysql查询语句怎么写

所谓子查询语句,就是先通过一个语句来查询出一个结果,然后再通过一个查询语句从这个结果中再次查询。子查询语句一般有以下3种。下面以一个案例来做讲解。

(视频教程推荐:php视频教程)

案例:查询【例1】中每个分类下的最新的那一条商品信息。

f3d20b6ad86c872514dc9a4c76812d1.png

立即学习“PHP免费学习笔记(深入)”;

如果通过单句查询,是获取不到的。如下面这样是错误的:

select max(goods_id),cat_id,goods_name from goods group by cat_id;

登录后复制

这样获取到了每个分类的最新商品ID号goods_id,但是其它信息如goods_name商品名称却是旧的那一条。所以,要想获取到每个分类的最新商品信息,要么分开语句查询,要么用子查询。

1、where子查询语句。

select * from goods where goods_id in ( select max(goods_id) from goods group by cat_id);

登录后复制

这句代码,我们先用group by查询出每个分类的最新的商品ID,然后通过where…in () 条件语句查询出每个分类最新商品ID 的商品的信息。这里是把group by语句作为where的子查询语句。

2、from子查询语句。

select * from (select * from goods order by cat_id,goods_id desc) as gk group by cat_id;

登录后复制

From子查询就是把 select查询到的结果作为一张表,如上面加粗的代码。注:必须把select查询到的结果集 取一个别名,如上面代码中的红色部分。否则会报错。

这样,我们同样查询出了每个分类下最新商品的信息。

3、exists子查询语句:

题目:查询【例1】哪些栏目下有商品。分类表名:category

select * from category where exists( select * from goods where goods.cat_id=category.cat_id )

登录后复制

上句中的exists排查了(当商品表中的分类ID=分类表中的分类ID)时,有没有商品。如果有,就再查询这个分类的信息,如查没有,就排除这个分类。最后结果就是,查询出了有商品的商品分类信息。

嗯,这里我们介绍了3种比较常用的mysql数据库子查询语句:where子查询语句、from子查询语句、exists子查询语句。当然,如果你不想使用子查询语句,也可以把它们拆分成2个语句来执行,效果也是一样的。

相关推荐:php培训

以上就是php mysql查询语句怎么写的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1903908.html

(0)
上一篇 2025年2月22日 15:10:34
下一篇 2025年2月22日 15:10:54

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP处理bmp格式图片的步骤

    白天qa提出项目上传图片有问题,具体为:上传成功,预览失败。我去了之后,又上传了几张其他的图片可以上传,然后仔细问了下他上传的是哪张图片,看了后使用getimagesize函数打印了下。本文主要和大家介绍了php处理bmp格式图片的方法,结…

    编程技术 2025年4月4日
    100
  • HTML调用PHP

    html本身是无法处理动态请求,要完成这个,一般是用javascript。在生成静态网页,可以根据数据库id给html页面生成一个相对应的javascript文件引用。比如页面是123.html,那就在这个页面生成一个。 登录后复制登录后复…

    编程技术 2025年4月4日
    100
  • Java框架性能优化常见问题解答

    Java 框架性能优化常见问题解答 引言 在高并发和数据吞吐量高的系统中,Java 框架的性能优化至关重要。本文探讨了一些常见的性能优化问题及其对应的解决方案。 1. 数据库连接管理 立即学习“Java免费学习笔记(深入)”; 问题:应用程…

    2025年4月2日
    100
  • Hibernate框架学习笔记:从概念到实战

    hibernate框架简化了java应用程序中与数据库交互的过程,涉及以下概念:实体(pojo表示数据库表)、会话(数据库交互)、查询(检索数据)、映射(类与表关联)、事务(确保数据一致性)。实战案例演示了创建数据库表、实体类、hibern…

    2025年4月2日
    100
  • Java框架中资源利用的性能优化方法有哪些?

    java 框架中优化资源利用性能的方法:采用池技术连接池和线程池管理连接和线程,避免频创建和销毁;缓存常用数据和对象,减少数据库访问和对象创建;异步处理耗时操作,避免卡顿;优化内存使用,选用合适的容器、清理引用、禁用未用类和方法;使用性能监…

    2025年4月2日
    100
  • java怎么导入数据库

    要在 Java 中导入数据库,需要依次执行以下步骤:建立数据库连接。创建 Statement 对象。执行 CREATE 语句创建表。执行 INSERT 语句插入数据。关闭 Statement 和数据库连接。 如何在 Java 中导入数据库 …

    2025年4月2日
    100
  • 哪些开源替代品具有独特的特性和优势?

    postgresql、mongodb、redis 和 mariadb 等开源数据库引擎提供独特的特性和优势:postgresql:可扩展性、安全性、jsonb 支持mongodb:文档结构、分布式架构、云服务redis:内存数据库、键值存储…

    2025年4月2日
    100
  • java怎么连接数据库sql

    通过 JDBC API 连接 Java 应用程序到 SQL 数据库只需六个步骤:1. 加载 JDBC 驱动程序;2. 创建连接;3. 创建 Statement;4. 执行查询或更新;5. 检索结果(如果执行的是查询);6. 关闭连接。 如何…

    2025年4月2日
    100
  • 最佳的开源替代品在哪些行业和用例中使用?

    开源替代品广泛应用于各个行业,提供与专有软件相当的功能,成本和限制更低。这些应用包括云计算、数据库、办公套件、操作系统和开发工具。例如,金融行业使用开源替代品创建了风险管理系统,降低了成本并提高了灵活性。随着开源软件的成熟,其采用范围预计将…

    2025年4月2日
    100
  • 哪些开源替代品提供商用支持和维护?

    对于商用支持和维护,企业可考虑针对热门开源软件采用以下选项:1. red hat enterprise linux (rhel) 替代品:centos、rocky linux(商用支持:red hat);2. postgresql 替代品:…

    2025年4月2日
    100

发表回复

登录后才能评论