SQL查询语句(内联,as,in,通配符)

article/2025/9/13 16:41:49

最近在学习牛腩新闻发布系统,正如牛老师所说,作为一个优秀的.NET开发人员,对SQL语句不熟怎么能行呢,接下来就总结下牛老师写的存储过程中SQL语句,挺经典,举一反三


首先先展示出来适用于系统的三张表

  • 新闻类别表(category)

  • 新闻表(news)

  • 新闻评论表(comment)

其中caId是类别表的外键,newsid是news的外键

接下来正式进入基于这张表的查询总结


as关键字


按照取出评论回复最多的10条评论为例,看SQL语句

//取出评论最多的10条新闻select top 10 n.id,n.title,n.createTime,c.name,count(com.id) as comCount--count(com.id)起一个别名用asfrom news n	inner join category c on n.caId=c.id             --内连接 取出新闻表中类别id与类别表id相等的内容inner join comment com on com.newsid = n.id      --内连接 取出评论表中新闻表id与新闻表id相等的内容group by n.id,n.title,n.createTime,c.name        --按照id,标题,时间,类别名字order by comCount desc                           --按照评论多少进行降序

执行结果如下图、

先不管连接的代码,由这句代码

count(com.id) as comCount

可以看出来as的作用是为字段起一个别名

当然如果觉得表头是英文看起来不太方便,也可以转换成中文,这也是as在起作用,如下代码

	select top 10 n.id as '新闻ID',n.title as '新闻标题',n.createTime as '创建时间',c.name as '新闻类别',count(com.id) as comCountfrom news n	inner join category c on n.caId=c.id              --内连接 取出新闻表中类别id与类别表id相等的内容inner join comment com on com.newsid = n.id       --内连接 取出评论表中新闻表id与新闻表id相等的内容group by n.id,n.title,n.createTime,c.name          --按照id,标题,时间,类别名字order by comCount desc                             --按照评论多少进行降序

执行结果如下

推荐博客1     

推荐博客2


内联


还是以面的代码为例

	select top 10 n.id,n.title,n.createTime,c.name,count(com.id) as comCount--count(com.id)起一个别名用asfrom news n	inner join category c on n.caId=c.id             --内连接 取出新闻表中类别id与类别表id相等的内容

用通俗的语言描述下

从news表 内连接 category表 条件是 news表的caId和category表id相等 的内容中得到top 10

推荐左右内连接博客,相当清楚


Like+通配符%


where子句中like+通配符%可实现模糊查询

换个例子

现在取出标题含有“王”的记录,代码如下

	select top 10 n.id,n.title,n.createTime from news nwhere n.title like '%王%'     --通配符,搜索包含用户传入参数的标题order by n.createTime desc

现在取出标题中以“王”为开头记录,代码如下

	select top 10 n.id,n.title,n.createTime from news nwhere n.title like '王%'     --通配符,搜索包含用户传入参数的标题order by n.createTime desc

现在取出标题中以“王”为结尾的记录,代码如下

	select top 10 n.id,n.title,n.createTime from news nwhere n.title like '%王'     --通配符,搜索包含用户传入参数的标题order by n.createTime desc

%为缺省字符,简单来说就是可以代替剩下一切字符


in关键字


下面在类别表中取出id为19,20,21的记录,代码如下

select * from category where id in(19,20,21)

查询结果

使用in关键字可以查询出一个字段对应多个值的记录

感谢您的阅读


http://chatgpt.dhexx.cn/article/AZgjduIb.shtml

相关文章

【微信小程序 | 实战开发】配置微信小程序APPID并快速接入

写在前面: 你是否想要掌握人工智能的最新技术和应用?你是否想要成为未来社会的创新者和领导者?你是否想要和全球的优秀导师和同学一起学习和交流?如果你的答案是肯定的,那么欢迎来到床长人工智能教程网站,这里是你实现梦想的起点! 个人名片: 🐼作者简介:一名大一在校…

获取苹果收集设备ID的方法

目录 问题 解决 问题 如果我们想要通过工具获取苹果手机 iPhone 或者 iPad 的设备 ID,也就是 UDID。这个时候,很多人可能会问 UDID 是什么,UDID 是 iOS 设备的一个唯一识别码,每台 iOS 设备都有一个独一无二的编码,…

浅谈大数据广告下个人隐私保护,开发者视角的广告原理

本文已收录于 Github CodeClass 和 Gitee CodeClass 致力于打造高质量编程学习课堂,内含百篇原创技术文章,千本计算机开源电子书,谷歌、阿里大神开源 LeetCode 题解,各类编程学习资源,欢迎 star ,一起学习&…

简单理解MySQL的存储引擎

1、什么是存储引擎? 在说明存储引擎之前,首先你需要简单了解MqSQL的整体架构。 从上图可知,存储引擎位于整体架构的最底层。 存储引擎真正负责了MySQL中数据的存储和提取。 可以这样理解: 其实我们平时写的各种SQL语句相当于指…

iOS隐私新规如何破局?盗版SKAdnetwork可行吗?

背景:   在2020年的开发者大会上,苹果宣布iOS14设备将会在App首次打开时主动弹窗请求是否选择允许广告追踪,即被获取设备的IDFA。这也就意味着新系统需要用户手动选择允许,而旧系统是手动选择关闭,这一关键改变无异…

牛腩新闻发布--过程或函数 'news_selectByCaId' 需要参数 '@caid',但未提供该参数(一)

发现问题 今天敲击牛腩,在敲击Web页面的List.aspx之后,点击Ctrl+F5运行,发现运行不了,首先是数据库中调取数据有问题,因为这个数据是用存储过程调取的,所以需要修改存储过程,这时候只需要改成如下代码就行: 将这个更改完之后就可以在数据库中调取到应需要的数据了,但是…

【牛腩】DELETE 语句与 REFERENCE 约束“FK_news_category“冲突。该冲突发生于数据库“newssystem“,表“dbo.news“, column ‘caId‘

【前言】 牛腩中删除类别的时候会提示受到主外键的约束,导致无法删除这个类别。 【问题描述】 DELETE 语句与 REFERENCE 约束"FK_news_category"冲突。该冲突发生于数据库"newssystem",表"dbo.news", column ‘caId’。…

【牛腩】过程或函数 ‘news_selectByCaId‘ 需要参数 ‘@caid‘,但未提供该参数

【前言】 在运行牛腩的时候会有提示过程或者函数缺少参数。这个是因为存储过程中写的缺少参数,添加相应的参数就可以了。 【问题描述】 过程或函数 ‘news_selectByCaId’ 需要参数 ‘caid’,但未提供该参数 过程或函数 ‘news_selectByContent’ 需要…

关于IDFA、CAID和「5. 1.2 - Data use sharing」

今天,2021年3月18日,突然收到了之前从未遇到过的拒审邮件,邮件原文如下: 发件人 Apple 5. 1.2 - Data use & sharing Please review this information carefully as it impacts your app’s availability on the App Store a…

中国广告协会的CAID方案

前些时间看到一个消息,腾讯、百度和字节跳动测试工具绕开苹果的ATT(AppTrackingTransparency,简称 ATT,旨在保护用户隐私的应用追踪透明度框架),估计这个应该是在测试CAID。 过一两天又出现一个消息&#x…

微信H5链接包装

最近看到好多人问一个问题,就是在微信中发游戏链接给好友,让链接显示成一个抖音的样式,如下: 这种链接包装,做起来说难不难,说简单也不简单。网上很多服务商都可以做,不过靠谱程度就参差不齐了…

微信内 H5 页面自定义分享

起源: 最近公司在做一个活动的h5页面,在微信内打开时需要进行微信授权,然后后端会重定向到这个页面并且携带了一些参数(openid等)。问题是点击微信的原生分享时,会把携带的这些参数一起分享出去&#xff0…

H5容器技术方案

●●● Native开发原生应用是手机操作系统厂商(目前主要是苹果的iOS和google的Android)对外界提供的标准化的开发模式,他们对于native开发提供了一套标准化实现和优化方案。但是他们存在一些硬伤,比如App的发版周期偏长、有时无法…

H5的分享功能

在H5的 页面分享该活动给好友&#xff0c;代码如下&#xff1a; 1&#xff1a;需要添加 js引用&#xff1a; <script srchttp://res.wx.qq.com/open/js/jweixin-1.2.0.js></script> 2&#xff1a;需要添加对象&#xff1a; var wx require("weixin-js-sdk…

微信小程序共享元素+ page-container假页实现弹出效果

1.实现效果 2.实现原理 page-container page-container 小程序如果在页面内进行复杂的界面设计&#xff08;如在页面内弹出半屏的弹窗、在页面内加载一个全屏的子页面等&#xff09;&#xff0c;用户进行返回操作会直接离开当前页面&#xff0c;不符合用户预期&#xff0c;预期…

小程序与h5分享

小程序分享 可以参考小程序文档小程序文档链接 介绍&#xff1a;小程序中有直接在按钮上面加open-type就会触发分享了 如下: <button open-type"share"></button>在onShareAppMessage这个生命周期上面书写你要分享的内容就可以了&#xff0c; 如下&…

小程序嵌套 h5 并分享给朋友

1.先准备一个https地址&#xff0c;用于在微信公众平台/小程序中/开发管理/开发设置/业务域名 中设置 主要是后续要用到 web-view 组件 2.在小程序中设置跳转信息 task/index.vue this.graceJS.navigate(“/pagesA/task/sharePage?pathyes&houseName”houseName“&ty…

H5页面设置微信分享

H5页面设置微信分享 写代码之前的准备工作 1、登录微信公众号&#xff08;需要已经认证过的公众号&#xff09;&#xff0c;进入“设置与开发”→“公众号设置”→“功能设置”→“JS接口安全域名”&#xff0c;将文件下载下来&#xff0c;上传至与将要分享的页面相同的域名服务…

闲置电视盒子不要扔!搭建Blynk物联网服务器,太香了!

之前写过WINDOS搭建blynk物联网的教程&#xff0c;由于电脑一直开机功耗太大&#xff0c;现在终于找到了用电视机顶盒刷linux系统安装服务器的方法&#xff0c;先一睹为快 在开始今天的折腾前&#xff0c;自备一个刷好linux系统的电视机顶盒&#xff0c;可以按神雕的教程来 地…

学会搭建小程序生鲜商城,开启生鲜电商新模式

电商平台的出现&#xff0c;为人们带来了极大的便利。然而&#xff0c;传统的电商平台已经不能满足消费者对于购物体验的要求。如今&#xff0c;小程序生鲜商城因其轻量化、高效率等特点&#xff0c;成为了众多卖家的首选。本文将介绍如何学会搭建小程序生鲜商城&#xff0c;并…