- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关联与进阶查询.ppt
關聯查詢 JOIN語法 MySQL支持以下JOIN語法, 這些語法用於SELECT語句的table_references部分和多表DELETE和UPDATE語句: table_references: table_reference [, table_reference] … table_reference: table_factor | join_table table_factor: tbl_name [[AS] alias] [{USE|IGNORE|FORCE} INDEX (key_list)] | ( table_references ) | { OJ table_reference LEFT OUTER JOIN table_reference ON conditional_expr } join_table: table_reference [INNER | CROSS] JOIN table_factor [join_condition] | table_reference STRAIGHT_JOIN table_factor | table_reference STRAIGHT_JOIN table_factor ON condition | table_reference LEFT [OUTER] JOIN table_reference join_condition | table_reference NATURAL [LEFT [OUTER]] JOIN table_factor | table_reference RIGHT [OUTER] JOIN table_reference join_condition | table_reference NATURAL [RIGHT [OUTER]] JOIN table_factor join_condition: ON conditional_expr | USING (column_list) 與SQL標準相比,table_factor的語法被擴展了。SQL標準只接受table_reference,而不是圓括号内的一系列項目。 CROSS JOIN/INNER JOIN 在MySQL中,CROSS JOIN与INNER JOIN等同, 兩者可以互相替换。 在標準SQL中,两者是不等同的。INNER JOIN與ON子句同時使用,CROSS JOIN以其它方式使用。 SELECT * FROM t1 LEFT JOIN (t2, t3, t4)?? ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c) 相當於: SELECT * FROM t1 LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4)? ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c) …此為正規之 Join指令 SELECT t1.name, t2.salary FROM employee AS t1, info AS t2? WHERE t1.name = t2.name;· ?SELECT t1.name, t2.salary FROM employee t1, info t2? WHERE t1.name = t2.name; ON條件句是可以被用於WHERE子句的格式的任何條件。 A table reference can be aliased using tbl_name AS alias_name or tbl_name alias_name: ????? 如果對於在LEFT JOIN中的ON或USING部分中的右表没有匹配的紀錄,则對應該欄之所有列被设置为NULL再套用於右表。 如果一个表在其它表中没有对应部分,您可以使用这种方法在这种表中查找紀錄: SELECT table1.* FROM table1?? LEFT JOIN table2 ON table1.id = table2.id??WHERE table2.id IS NULL; USING(column_list)子句 用於為一系列的列進行命名。若這些列必同時在两个表中存在。 EX: 如果表a和表b都包含列c1, c2和c3,则以下联合会对比来自两个表的对应的列: ??? a LEFT JOIN b USING (c1,c2,c3) Some join examples SELECT * FROM table1, table2; SELECT * FROM table1 INNER JOIN table2 ON table1.
您可能关注的文档
最近下载
- 膝关节置换术术后护理ppt.pptx
- 2025中考时政热点话题与知识链接.pdf VIP
- 国家开放大学电大《计算机应用基础(本)》终结性考试试题答案(格式已排好)任务二.pptx VIP
- 公诉人在法庭上讯问被告人应把握规则和方法.doc VIP
- JT_T 1499-2024 公路水运工程临时用电技术规程.pdf VIP
- DB32∕T 3160-2016 高等学校智慧校园建设与应用规范地方标准.pdf VIP
- 刑事诉讼法和公安机关办理刑事案件程序规定.ppt VIP
- 2025年最新国家开放大学电大《家畜解剖基础》期末题库及答案 .pdf VIP
- 工程投入的主要物资(材料)情况描述及进场计划.docx VIP
- 国开电大网络存储技术(福建)形考任务二参考答案.doc VIP
文档评论(0)