Select... in oracle... connect by prior... start with and (+) usage 1. select... connect by prior... usage of start with: select... from <tablename> where <conditional-1> -- filter condition, used to filter all returned records start with <conditional-2> -- query results from the start of the root node with the conditions connect by prior <conditional-3> -- the connection condition database table structure is as follows: create table tablename (id number, root_id number, name varchar2 (50), desc varchar2 (250) insert into tablename (id, root_id, name, desc) values (, 'Root', 'root node'); insert into tablename (id, root_id, name, desc) values (, 'childnode1', 'subnode 1 '); insert into tablename (id, root_id, name, desc) values (3,1, 'childnode2', 'subnode 2'); insert into tablename (id, root_id, name, desc) values (, 'root2', 'root node 2'); insert into tablename (id, root_id, name, desc) values (, 'childnodea ', 'subnode 1'); insert into tablename (id, root_id, name, desc) values (6, 4, 'childnodeb', 'subnode 2'); get the complete tree: Select * from tablename connect by prior id = root_id start with root_id = 0 if the prior in connect by prior is omitted, the query will not undergo deep recursion. For example, select * from tablename connect by id = root_id start with root_id = 0 2. usage of (+) (outer join) in oracle select. id, B. idd from a, B WHERE. id (+) = B. IDD is equivalent to select. id, B. idd from a right outer join B ON (. id = B. the data in table B is retrieved when two tables are associated. The data in table A is retrieved only when table B has the corresponding data.