早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求解释sql语句SELECTprivilege,directoryname,DIRECTORYPATHFROMusertabprivst,alldirectoriesd WHEREt.tablename(+)=d.directorynameORDERBY2,1;其他的我懂,关键是t.tablename(+)这里的‘(+)’表示什么?如果可

题目详情
求解释sql语句
SELECT privilege,directory_name,DIRECTORY_PATH FROM user_tab_privs t,all_directories d
 WHERE t.table_name(+) = d.directory_name ORDER BY 2,1;
其他的我懂,关键是 t.table_name(+) 这里的‘(+)’表示什么?如果可以的话,请举例
▼优质解答
答案和解析
t.table_name(+) = d.directory_name + 标识外连接 如果在左边就是 左外连接 在右边就是 右外连接 左外连接 查询出的数据 包含满足条件左边的所有数据(如果右边表没有数据 会用null 补充) 右外连接则相反 left join on / right join on
你给的语句还可用写成 SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t left join all_directories d on
t.table_name = d.directory_name ORDER BY 2, 1;