Mysql入门系列:检索MYSQL记录
2006-12-31 10:46:29 来源:WEB开发网核心提示: 子句来将结果集减少为易于管理的大小,如果在WHERE 子句中增加一个条件使各表在某些列上进行匹配,Mysql入门系列:检索MYSQL记录(3),此连接就是所谓的等同连接(e q ui - j o i n),因为只选择那些在指定列中具有相等的值的行,表my_tbl2 含有列b 和c,则列a
子句来将结果集减少为易于管理的大小。
如果在WHERE 子句中增加一个条件使各表在某些列上进行匹配,此连接就是所谓的等同连接(e q ui - j o i n),因为只选择那些在指定列中具有相等的值的行。如:
J O I N、CROSS JOIN 和INNER JOIN 连接类型都与“,”连接操作符意义相同。STRAIGHT_JOIN 与全连接类似,但各表按FROM 子句中指定的次序进行连接。一般情况下,在全连接中MySQL优化程序自身完全不考虑安排各表的顺序,以便使记录的检索更快。在有的场合,优化程序将作出非优化的选择,这样将忽略STRAIGHT_JOIN 关键字。在SELECT 语句中,可在两个位置给出S T R A I G H T _ J O I N。一个位置是在SELECT 关键字与选择列表之间,将其放在这里对语句中所有全连接具有整体作用。另一个在FROM 子句中。下面两条语句是等价的:
限定列引用
SELECT 语句中列的引用必须对FROM 子句中指定的每个表是无歧义的。如果FROM 子句中仅指定了一个表,则无歧义存在,因为所有列必须是该表的列。如果指定了多个表,只出现在一个表中的列名也是无歧义的。但是,如果某个列名出现在多个表中,该列的引用必须用表名来限定,用tbl_name.col_name 语法来表明所指的是哪个表。如果表my_tbl1含有列a 和b,表my_tbl2 含有列b 和c,则列a 和c 的引用是无歧义的,但b 的引用必须限定为my_tbl1.b 或my _ t b l 2 . b,如:
更多精彩
赞助商链接