回答

收藏

mysql语法说明

技术问答 技术问答 103 人阅读 | 0 人回复 | 2023-09-13

我想知道a。*,c.name,… a.access等的含义。换句话说,当我在点和点的功能之前添加字母时,我指的是什么。
- s+ r- m( e* N: N; c; d+ X$ I这是我发现这种情况的代码示例:% [( m& m: t' I$ N
$query = "SELECT a.*, c.name as categoryname,c.id as categoryid, ".
6 I8 X! |5 r7 V( u3 {         "c.alias as categoryalias, c.params as categoryparams".' G( i8 l4 ?; A2 G# ]
        " FROM #__k2_items as a".
9 O1 e0 E' L1 W6 a$ l        " LEFT JOIN #__k2_categories c ON c.id = a.catid";
0 Y" V6 I* h2 N, r' @        $query .= " WHERE a.published = 1"# x: Q( @0 P* z9 C7 G
        ." AND a.access 如果查看该FROM子句,则会看到以下内容:
: [" s7 |4 C2 m* f8 _. I8 W: JFROM #__k2_items as a
; _% p7 |' x' x3 U) f在LEFT JOIN子句中,您将看到:8 S# i# o+ @3 E
LEFT JOIN #__k2_categories c ON c.id = a.catid
* o' U# @7 o7 }- w6 [别名
# c- [0 ^3 P7 y) u- u1 s4 T2 e" ^的#__k2_items表(不管它是真正的称呼)的名称a,并#__k2_categories以c分别。在这种情况下,实际上只是保存类型并提高查询的可读性。
# [5 V% q. }5 u0 x点将一个列名与一个表名相关联,以便MySQL知道要查找的表,以防万一您在查询中涉及的多个表中有相同名称的列。即,它 解决了列歧义
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则