看完牛玫瑰的视频后,前17次谈到了背景代码的制作。 特别是谈到查询语句时,我觉得原本用于学习的查询语句的关键字消失了,什么都不记得了。 通过看视频,我想起了一部分。 这里总结一下查询语句中使用的关键字的含义和使用方法。 一、select语句(单表) ) ) ) ) )。
看完牛玫瑰的视频后,前17次谈到了背景代码的制作。 特别是谈到查询语句时,我觉得原本用于学习的查询语句的关键字消失了,什么都不记得了。 通过看视频,我想起了一部分。 这里总结一下查询语句中使用的关键字的含义和使用方法。
一、select语句(单表) ) ) ) ) )。
1 .最简单的查询:
select * from [where ]
选择列1,列2 . from [ where ]
必须注意的是,在where子句的条件过滤器中使用的关键字。 例如,逻辑运算符like的“%”和“_”匹配一个或多个字符。 这也在新闻发布系统中使用。
例如,按标题搜索:
Select top 10 n.id,n.title,n.createtime,c.[name]
fromnewsninnerjoincategoryconc.CAID=c.id
where n.title like '%' @title '% '
当然有很多,例如between、not、in等关键词的使用也很重要。
2.DISTINCT关键字
此关键字主要用于检索列中的唯一值。 例如,如果记录中某个字段的值(city )有重复项,则为)廊坊、北京、廊坊或北京,并使用DISTINCT关键字检索唯一的值。 也就是说,重复的值只计数一次,结果为)廊坊、北京)。
选择distinct city from [ table ]
3 .使用别名
使用别名可以显示我们想要的名字,方便阅读。 select city as城市from .
4.group by和having子句
group by用于对查询的结果集进行分组,必须位于select语句的from或where子句之后。
having子句类似于where子句,紧接在group by子代之后用作查询条件。
与where子句不同: where子句影响单个记录中的查询条件,having子句影响单列查询条件
例如:
selectlocationfromcitytablewherecity='北京'--查找名为"北京"的城市的位置
selectcitygroupbycityhavingcount (memberid )=3 --调查城市成员数在3以上的城市,按城市名称分组
二.多表查询
1、inner join
如果需要,查询的多个表必须具有相同的匹配项。 这里,on表示作用的表的条件,n、c是别名
选择*
来自新闻n
Inner join category c
on c.caid=c.id
执行查询的结果必须是两个表中包含相同类别编号的记录,才能进行查询。
例如,牛腩动画例子:
category表的id表示新闻类别的id,而news表的caid表示该新闻属于特定类别
执行上述查询语句的结果:
inner join表
结果表明,类别号是两个表中都存在的项。 inner join中也包括与等价联合不等价的内容,这主要由on后的条件决定
2 .左连接
左外连接:对于连接,查询on条件左侧表中的所有项目。 如果右表中没有匹配项,则将其替换为null
上面的两个表,执行
select * fromcategorycleftjoinnewsnonc.id=n.CAID
结果如下。
3.right join
与左连接相反,yldbd,右外连接的结果搜索右侧表中的所有项目,如果左侧表中没有匹配项,则将其替换为null。
4 .全连接
左边和右边的项目都返回结果。 如果没有对应的项目,则替换为null。
三.其他
除了以上相关的查询关键字外,还涉及嵌套查询、使用in关键字、对sql记录进行编号排序后的顺序查询等。 使用
selectrow_number(over ) orderbyiddesc ) AS Row --Row是别名
以上只是与部分查询的关键字总结有关,很常用。 逐渐学习,发现原来的知识还是应该不断回忆和应用,才能发现它进一步应用的意义。 关于数据库的更多知识必须进一步在实践中总结。
本文原创发布了php中文网。 转载请注明出处。 谢谢您的尊重。