{"_id":"5668d76dc3de130d004416ba","project":"5667237eee53940d00516244","user":"56672364f672550d00085227","__v":7,"githubsync":"","category":{"_id":"5667789f575ec10d00640b80","pages":["56677ec5be6e390d004eb465","566780b78f1eec0d00d9e391","566791b8ee1dbf0d008f611b","566794b305cae40d00bea738","5667957306039e0d00c4eba7","5668d4e1f921480d00a34555","5668d76dc3de130d004416ba","5668d8b7d000ff1700ca477a","5668d97b07625117002c2727","5668dcf02961f917006ada2c","566a1c83e233063900c10f80","566a1eaed000ff1700ca4941","566a1ec007625117002c29e9","566a2391434e53390069d8e3","566a26b455e4b32100935f47","566a2716f625510d000e55e6","566a29cbf625510d000e55e9","566a2fdf0405980d001f40af","566a30451766bf0d00e737bd","566a328bf625510d000e55f1","566a34561e08750d00a0c497","566a348d1766bf0d00e737c4","566b92b471dc6a0d00b2493c"],"version":"5667237fee53940d00516247","__v":23,"project":"5667237eee53940d00516244","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-12-09T00:41:03.215Z","from_sync":false,"order":1,"slug":"api-reference","title":"API Reference"},"version":{"_id":"5667237fee53940d00516247","__v":4,"project":"5667237eee53940d00516244","createdAt":"2015-12-08T18:37:51.439Z","releaseDate":"2015-12-08T18:37:51.439Z","categories":["56672380ee53940d00516248","5667789f575ec10d00640b80","566779078c573e0d00023d96","56677e2bbe6e390d004eb463"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-12-10T01:37:49.404Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":11,"body":"The .leftJoin() is used to perform an outer join. All rows from the left side collection will always be returned regardless of not matching the right side collection rows. The .leftJoin() can be immediately after the [.from()](https://jinqjs.readme.io/docs/from) or a previous [.on()](https://jinqjs.readme.io/docs/on). \n\nThe .leftJoin() can handle 1 to many arguments. Each argument can be a mix of collections of JSON objects. If multiple collections are provided then all collections will be outer joined with the collection(s) from the [.from()](https://jinqjs.readme.io/docs/from).\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"leftJoin(array, array , array, ...)\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"type Collection<T> = T[];\\nleftJoin<T>(collection: Collection<T>, ...collections: Collection<T>[]): jinqJs;\",\n      \"language\": \"javascript\",\n      \"name\": \"TypeScript\"\n    }\n  ]\n}\n[/block]\n\n[block:embed]\n{\n  \"html\": \"<iframe class=\\\"embedly-embed\\\" src=\\\"//cdn.embedly.com/widgets/media.html?url=http%3A%2F%2Fjsfiddle.net%2Ftford%2F2b545umr%2F&src=%2F%2Fjsfiddle.net%2Ftford%2F2b545umr%2Fembedded%2F&type=text%2Fhtml&key=02466f963b9b4bb8845a05b53d3235d7&schema=jsfiddle\\\" width=\\\"None\\\" height=\\\"300\\\" scrolling=\\\"no\\\" frameborder=\\\"0\\\" allowfullscreen></iframe>\",\n  \"url\": \"http://jsfiddle.net/tford/2b545umr/\",\n  \"title\": \"jinqJs - JSFiddle\",\n  \"favicon\": \"http://jsfiddle.net/favicon.png\"\n}\n[/block]\n\n[block:embed]\n{\n  \"html\": \"<iframe class=\\\"embedly-embed\\\" src=\\\"//cdn.embedly.com/widgets/media.html?url=http%3A%2F%2Fjsfiddle.net%2Ftford%2F4d72pkmj%2F&src=%2F%2Fjsfiddle.net%2Ftford%2F4d72pkmj%2Fembedded%2F&type=text%2Fhtml&key=02466f963b9b4bb8845a05b53d3235d7&schema=jsfiddle\\\" width=\\\"None\\\" height=\\\"300\\\" scrolling=\\\"no\\\" frameborder=\\\"0\\\" allowfullscreen></iframe>\",\n  \"url\": \"http://jsfiddle.net/tford/4d72pkmj/\",\n  \"title\": \"jinqJs - JSFiddle\",\n  \"favicon\": \"http://jsfiddle.net/favicon.png\"\n}\n[/block]","excerpt":"","slug":"leftjoin","type":"fn","title":"leftJoin"}
The .leftJoin() is used to perform an outer join. All rows from the left side collection will always be returned regardless of not matching the right side collection rows. The .leftJoin() can be immediately after the [.from()](https://jinqjs.readme.io/docs/from) or a previous [.on()](https://jinqjs.readme.io/docs/on). The .leftJoin() can handle 1 to many arguments. Each argument can be a mix of collections of JSON objects. If multiple collections are provided then all collections will be outer joined with the collection(s) from the [.from()](https://jinqjs.readme.io/docs/from). [block:code] { "codes": [ { "code": "leftJoin(array, array , array, ...)", "language": "javascript" } ] } [/block] [block:code] { "codes": [ { "code": "type Collection<T> = T[];\nleftJoin<T>(collection: Collection<T>, ...collections: Collection<T>[]): jinqJs;", "language": "javascript", "name": "TypeScript" } ] } [/block] [block:embed] { "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?url=http%3A%2F%2Fjsfiddle.net%2Ftford%2F2b545umr%2F&src=%2F%2Fjsfiddle.net%2Ftford%2F2b545umr%2Fembedded%2F&type=text%2Fhtml&key=02466f963b9b4bb8845a05b53d3235d7&schema=jsfiddle\" width=\"None\" height=\"300\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "url": "http://jsfiddle.net/tford/2b545umr/", "title": "jinqJs - JSFiddle", "favicon": "http://jsfiddle.net/favicon.png" } [/block] [block:embed] { "html": "<iframe class=\"embedly-embed\" src=\"//cdn.embedly.com/widgets/media.html?url=http%3A%2F%2Fjsfiddle.net%2Ftford%2F4d72pkmj%2F&src=%2F%2Fjsfiddle.net%2Ftford%2F4d72pkmj%2Fembedded%2F&type=text%2Fhtml&key=02466f963b9b4bb8845a05b53d3235d7&schema=jsfiddle\" width=\"None\" height=\"300\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>", "url": "http://jsfiddle.net/tford/4d72pkmj/", "title": "jinqJs - JSFiddle", "favicon": "http://jsfiddle.net/favicon.png" } [/block]