- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JOIN 句法
MySQL 支持下列用于 SELECT 语句的 JOIN 句法: table_reference, table_reference
table_reference [CROSS] JOIN table_reference table_reference INNER JOIN table_reference table_reference STRAIGHT_JOIN table_reference table_reference LEFT [OUTER] JOIN table_reference ON
conditional_expr
table_reference LEFT [OUTER] JOIN table_reference USING (column_list)
table_reference NATURAL LEFT [OUTER] JOIN table_reference
{ oj table_reference LEFT OUTER JOIN table_reference ON conditional_expr }
上述最后的 LEFT OUTER JOIN 的句法只是为了与 ODBC 兼容而存在的。
一个表可以是使用 aliasedtbl_name AS alias_name 或
tbl_name alias_name 的起的别名。
mysql select t1.name, t2.salary from employee AS t1, info AS t2
where t1.name = t2.name;
INNER JOIN 和,(逗号)在语义上是等价的,都是进行一个在使
用的表之间的全联结。通常,你指定表应该如何用WHERE 条件联结起来。
ON 条件是可以用在一个WHERE 子句形式的任何条件。
如果在一个 LEFT JOIN 中没有右表的匹配记录,一个所有列设
置为 NULL 的行被用于右表。你可以使用这个事实指出表中在另一个表中没有对应记录的记录:
mysql select table1.* from table1
LEFT JOIN table2 ON table1.id=table2.id
where table2.id is NULL;
这个例子找出在table1 中所有的行,其 id 值在table2 中不存在(即, 所有 table1 中的在table2 中没有对应行的行)。当然这假定 table2.id 被声明为 NOT NULL。
USING (column_list)子句命名一系列必须存在于两个表中的列。例如一个 USING 子句:
A LEFT JOIN B USING (C1,C2,C3,...)
被定义成在语义上等同一个这样的 ON 表达式: A.C1=B.C1 AND A.C2=B.C2 AND A.C3=B.C3,...
2 个表的 NATURAL LEFT JOIN 被定义为在语义上等同于一个有 USING 子句命名在两表中存在的所有列的一个 LEFT JOIN。
STRAIGHT_JOIN 等同于 JOIN,除了左表在右表之前被读入, 这能用于这些情况,联结优化器将表的顺序放错了。
一些例子:
mysql select * from table1,table2 where table1.id=table2.id;
mysql select * from table1 LEFT JOIN table2 ON table1.id=table2.id; mysql select * from table1 LEFT JOIN table2 USING (id);
mysql select * from table1 LEFT JOIN table2 ON table1.id=table2.id LEFT JOIN table3 ON table2.id=table3.id;
见 10.5.4 MySQL 怎样优化LEFT JOIN。
INSERT 句法
INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)] VALUES (expression,...),(...),...
或 INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name [(col_name,...)] SELECT ...
或 INSERT [LOW_PRIORITY | DELAYED] [IGNORE]
[INTO] tbl_name
SET col_name=expression, col_name=expression, ...
INSE
您可能关注的文档
最近下载
- 人教版七年级数学上册第五章一元一次方程.pptx VIP
- 超星学习通网课《从爱因斯坦到霍金的宇宙》尔雅答案2025题目及答案.docx
- 证监会行业分类指引 2012版 (2).xls VIP
- 通信中级整理-终端与业务.pdf VIP
- 【初中数学】第五章一元一次方程单元测试+2024-2025学年人教版数学七年级上册.docx VIP
- 快乐日记(三上日记范文).docx VIP
- 4.1 《喜看稻菽千重浪》课件(共46张PPT)统编版高中语文必修上册.pptx VIP
- 群众安全满意度培训课件.pptx VIP
- 石材厂15万吨年砂石料加工项目突发环境事件应急预案2024年第一版.docx VIP
- 道德与法治人教版二年级上册教案.doc VIP
原创力文档


文档评论(0)