我现在比以往任何时候都更经常地看到下面的查询。我迷失的是'p.title','as'子句和'FROM Posts p'。任何人都在向我解释这些部分或向我推荐资源,因为我不知道在谷歌搜索什么?
SELECT p.title, SUBSTR(p.post,1,300) as post
FROM Posts p
WHERE p.title LIKE '%{$q}%'
OR p.post LIKE '%{$q}%'");
答案 0 :(得分:2)
SELECT p.title, SUBSTR(p.post,1,300) AS post
FROM Posts p
WHERE p.title LIKE '%{$q}%' OR p.post LIKE '%{$q}%'"
如第2行所示,“p”是“Posts”表的别名。 AS子句命名结果中的列(在本例中为“post”);
答案 1 :(得分:1)
“p.title”连接到“来自帖子p”。 “p”是别名。在“from”段中,如果添加此类别名,则可以使用别名前缀在查询中的任何位置引用此表的列。这对于连接尤其有用,当您多次连接相同的表或在不同的表中具有相同名称的列时。
“as”就是显示。它将显示之后指定的标题,而不是数据库中的原始列标题。
答案 2 :(得分:1)
p称为表格的Referral / Alias。在实践中非常常见,在处理具有相同字段名称的多个表时非常有用。
更多细节在
答案 3 :(得分:0)
它是该表的别名..当我从Post P写出像select *这样的查询意味着我必须写p。在该表的每一列之前,特别是该查询......这并不是那么令人困惑......
答案 4 :(得分:0)
FROM Posts p
- 此处,p是表Posts
的别名。这意味着在查询的其余部分中,您可以使用p而不是表名Posts。
您也可以使用FROM Posts as p
。
答案 5 :(得分:0)
虚线表示法的格式为table.column
。 as
关键字表示别名,您可以选择column1
作为column456
。 FROM Posts p
允许您在引用p
表格时在查询中使用Posts
作为简写表示法。
答案 6 :(得分:0)
您可以使用“AS”创建别名(列名),稍后可以在php $result['post']
中检索该别名。同样适用于“帖子p”,它是“帖子为p”的简写,作为回报,您可以使用p
作为查询其余部分的表名
答案 7 :(得分:0)
乍一看,查询似乎实现了一个非常简单的搜索引擎。 SUBSTR(p.post,1,300)
将返回帖子文本的前200个字符。由于结果集中将有一个名为SUBSTR(p.post,1,300)
的列,因此附加的AS子句会将此列重命名为post
。
LIKE是MySQL内置的字符串匹配函数,可让您对字符串进行简单的模式匹配。 %是匹配任何字符序列的通配符。 $ q可能是一个占位符,它被替换为查询运行时实际将被搜索的字符串。
答案 8 :(得分:0)
FROM Posts p
是FROM Posts AS p
的缩写,可为查询中的表名创建别名。这意味着你可以写一个稍短的查询。
然后由于某种原因写出p.title
,作者稍微回溯一下,这相当于title
(如果他没有创建别名,则为Posts.title
。)