{"id":27044209,"url":"https://github.com/9ssi7/query","last_synced_at":"2025-04-05T05:20:32.869Z","repository":{"id":57683827,"uuid":"494096310","full_name":"9ssi7/query","owner":"9ssi7","description":"A fast, synchronized and dynamic query builder package.","archived":false,"fork":false,"pushed_at":"2022-06-05T19:17:31.000Z","size":21,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T15:56:15.433Z","etag":null,"topics":["chain-of-responsibility","query","query-builder","sql","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/@ssibrahimbas/query","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/9ssi7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-19T14:02:28.000Z","updated_at":"2025-02-12T19:26:46.000Z","dependencies_parsed_at":"2022-09-20T09:33:56.764Z","dependency_job_id":null,"html_url":"https://github.com/9ssi7/query","commit_stats":null,"previous_names":["9ssi7/query","ssibrahimbas/query"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9ssi7%2Fquery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9ssi7%2Fquery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9ssi7%2Fquery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/9ssi7%2Fquery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/9ssi7","download_url":"https://codeload.github.com/9ssi7/query/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289717,"owners_count":20914528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chain-of-responsibility","query","query-builder","sql","typescript"],"created_at":"2025-04-05T05:20:32.304Z","updated_at":"2025-04-05T05:20:32.849Z","avatar_url":"https://github.com/9ssi7.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\u003cbr\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/76786120?v=4\" width=\"128\" height=\"128\" style=\"border-radius: 50px;\" /\u003e\u003c/p\u003e\n\u003ch3 align=\"center\"\u003e@ssibrahimbas/query\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n  A fast, synchronized and dynamic query builder package.\n\u003c/p\u003e\n\n### What is?\n\nIn short, the query builder. You can write complex and parameterized queries fast, plain and dynamically using the Query class, which uses the `chain of responsibility pattern`!\n\n### Motivation\n\nGenerally, adding parameters to queries and parsing objects increases the distance of us as software developers to sql. This package was influenced by mongoose's Query class, aiming to make it usable in SQL databases, and that's what it ultimately does.\n\nRun it on the drive you want! Sequelize can work with postgresql or any driver. All it needs is a driver that accepts sql code!\n\nLooking forward to your pull requests and issues to make this package better.\n\nFinally, all functions are gesture tested.\n\n### Installation\n\nTo include this package in your project, run the following command:\n\n```\nnpm install @ssibrahimbas/query\n```\n\n\u003e or with yarn\n\u003e \n\u003e ```\n\u003e yarn add @ssibrahimbas/query\n\u003e ```\n\nAnd try this:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconsole.log(Query.table(\"users\").getAll())\n\n// SELECT * FROM users\n```\n\n### Contributing\n\nIf you want to contribute to the project or play with the codes on your local machine, follow the steps below:\n\n#### install dependencies:\n\n```\nnpm install\n```\n\n\u003e or with yarn\n\u003e \n\u003e ```\n\u003e yarn\n\u003e ```\n\n#### run tests\n\n```\nnpm run test\n```\n\n\u003e or with yarn\n\u003e\n\u003e ```\n\u003e yarn test\n\u003e ```\n\n### Documentation\n\n\u003cdocgen-index\u003e\n\n|Interface|\n|---------|\n|**[`ISsiQuery`](#issiquery)**|\n\n\n|       Functions          |\n|--------------------------|\n|**[`table(...)`](#table)**|\n|**[`select(...)`](#select)**|\n|**[`groupConcat(...)`](#groupconcat)**|\n|**[`least(...)`](#least)**|\n|**[`max(...)`](#max)**|\n|**[`min(...)`](#min)**|\n|**[`sum(...)`](#sum)**|\n|**[`count(...)`](#count)**|\n|**[`avg(...)`](#avg)**|\n|**[`innerJoin(...)`](#innerjoin)**|\n|**[`leftJoin(...)`](#leftjoin)**|\n|**[`rightJoin(...)`](#rightjoin)**|\n|**[`fullOuterJoin(...)`](#fullouterjoin)**|\n|**[`leftOuterJoin(...)`](#leftouterjoin)**|\n|**[`rightOuterJoin(...)`](#rightOuterjoin)**|\n|**[`where(...)`](#where)**|\n|**[`orWhere(...)`](#orwhere)**|\n|**[`notWhere(...)`](#notwhere)**|\n|**[`orNotWhere(...)`](#ornotwhere)**|\n|**[`whereNull(...)`](#wherenull)**|\n|**[`whereNotNull(...)`](#wherenotnull)**|\n|**[`grouped(...)`](#grouped)**|\n|**[`in(...)`](#in)**|\n|**[`notIn(...)`](#notin)**|\n|**[`orIn(...)`](#orin)**|\n|**[`orNotIn(...)`](#ornotin)**|\n|**[`findInSet(...)`](#findinset)**|\n|**[`notFindInSet(...)`](#notfindinset)**|\n|**[`orFindInSet(...)`](#orfindinset)**|\n|**[`orNotFindInSet(...)`](#ornotfindinset)**|\n|**[`between(...)`](#between)**|\n|**[`notBetween(...)`](#notbetween)**|\n|**[`orBetween(...)`](#orbetween)**|\n|**[`orNotBetween(...)`](#ornotbetween)**|\n|**[`like(...)`](#like)**|\n|**[`orLike(...)`](#orlike)**|\n|**[`notLike(...)`](#notlike)**|\n|**[`orNotLike(...)`](#ornotlike)**|\n|**[`limit(...)`](#limit)**|\n|**[`pagination(...)`](#pagination)**|\n|**[`orderBy(...)`](#orderby)**|\n|**[`groupBy(...)`](#groupby)**|\n|**[`having(...)`](#having)**|\n|**[`query(...)`](#query)**|\n|**[`get()`](#get)**|\n|**[`getAll()`](#getall)**|\n|**[`insert(...)`](#insert)**|\n|**[`update(...)`](#update)**|\n|**[`delete()`](#delete)**|\n|**[`analyze()`](#analyze)**|\n|**[`check()`](#check)**|\n|**[`checksum()`](#checksum)**|\n|**[`optimize()`](#optimize)**|\n|**[`repair()`](#repair)**|\n|**[`reset()`](#reset)**|\n\n\n\n\u003c/docgen-index\u003e\n\n\u003cdocgen-api\u003e\n\n### ISsiQuery\n\nAbstract of the Query class. If you wish, you can use as follows:\n\n```typescript\nimport { ISsiQueue, SsiQuery } from \"@ssibrahimbas/query\"\n\nconst Query : ISsiQuery = new SsiQuery();\n```\n\nAlthough this doable, it is memory redundant as the `new` key is constantly used. The Queue class has been developed to reset itself after each query. So you can use it with peace of mind as follows:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n```\n\n### Functions\n\n\u003cbr\u003e\n\n### table\n\nIt is used to declare a table in SQL.\n\nAbstract:\n\n```typescript\ntable(table: string | Array\u003cstring\u003e) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").getAll();\n\n// SELECT * FROM users\n```\n\nUsing arrays:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table([\"users\", \"products\"]).analyze();\n\n// ANALYZE TABLE users, products\n```\n\n\u003cbr\u003e\n\n### select\n\nSelect the fields to use for the query\n\nAbstract:\n\n```typescript\nselect(fields: Record\u003cstring,string\u003e | Array\u003cRecord\u003cstring, string\u003e\u003e | string | Array\u003cstring\u003e) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").select(\"id\").getAll();\n\n// SELECT id FROM users\n```\n\nUsing arrays:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").select([\"id As userId\", \"name As userName\"]).analyze();\n\n// SELECT id As userId, name As userName FROM users\n```\n\nUsing Records:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst data = { Id: \"userId\", FirstName: \"firstName\" };\nconst query : string = Query.table(\"users\").select(data).getAll();\n\n// SELECT Id AS userId, FirstName AS firstName FROM users\n```\n\nUsing Records With Arrays:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst data: Array\u003cRecord\u003cstring, string\u003e\u003e = [\n  { Id: \"userId\" },\n  { FirstName: \"firstName\" },\n];\nconst query : string = Query.table(\"users\").select(data).getAll();\n\n// SELECT Id AS userId, FirstName AS firstName FROM users\n```\n\n\u003cbr\u003e\n\n### least\n\nAbstract:\n\n```typescript\nleast(fields: Array\u003cstring\u003e, name?: string | null) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").least([\"point1\", \"point2\", \"point3\"], \"minPoint\").getAll();\n\n// \"SELECT LEAST(point1, point2, point3) AS minPoint FROM users\"\n```\n\nSingle Parameter:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").least([\"point1\", \"point2\", \"point3\"]).getAll();\n\n// \"SELECT LEAST(point1, point2, point3) FROM users\"\n```\n\n\u003cbr\u003e\n\n### groupConcat\n\nAbstract:\n\n```typescript\ngroupConcat(fields: string, name?: string | null) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").groupConcat(\"UserId\", \"users\").getAll();\n\n// \"SELECT GROUP_CONCAT(UserId) AS users FROM users\"\n```\n\nSingle Parameter:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").groupConcat(\"UserId\").getAll();\n\n// \"SELECT GROUP_CONCAT(UserId) FROM users\"\n```\n\n\u003cbr\u003e\n\n### max\n\nAbstract:\n\n```typescript\nmax(fields: string, name?: string | null) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").max(\"id\", \"count\").getAll();\n\n// \"SELECT MAX(id) AS count FROM users\"\n```\n\nSingle Parameter:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").max(\"id\").getAll();\n\n// \"SELECT MAX(id) FROM users\"\n```\n\n\u003cbr\u003e\n\n### min\n\nAbstract:\n\n```typescript\nmin(fields: string, name?: string | null) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").min(\"id\", \"count\").getAll();\n\n// \"SELECT MIN(id) AS count FROM users\"\n```\n\nSingle Parameter:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").min(\"id\").getAll();\n\n// \"SELECT MIN(id) FROM users\"\n```\n\n\u003cbr\u003e\n\n### sum\n\nAbstract:\n\n```typescript\nsum(fields: string, name?: string | null) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").sum(\"id\", \"count\").getAll();\n\n// \"SELECT SUM(id) AS count FROM users\"\n```\n\nSingle Parameter:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").sum(\"id\").getAll();\n\n// \"SELECT SUM(id) FROM users\"\n```\n\n\u003cbr\u003e\n\n### count\n\nAbstract:\n\n```typescript\ncount(fields: string, name?: string | null) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").count(\"id\", \"count\").getAll();\n\n// \"SELECT COUNT(id) AS count FROM users\"\n```\n\nSingle Parameter:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").count(\"id\").getAll();\n\n// \"SELECT COUNT(id) FROM users\"\n```\n\n\u003cbr\u003e\n\n### avg\n\nAbstract:\n\n```typescript\navg(fields: string, name?: string | null) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").avg(\"id\", \"avg\").getAll();\n\n// \"SELECT AVG(id) AS avg FROM users\"\n```\n\nSingle Parameter:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").avg(\"id\").getAll();\n\n// \"SELECT AVG(id) FROM users\"\n```\n\n\u003cbr\u003e\n\n### innerJoin\n\nAbstract:\n\n```typescript\ninnerJoin(table: string, field1: string, operator?: string, field2?: string) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"user_posts\")\n    .select([\n      \"user_posts.id as postId\",\n      \"user_posts.title as postTitle\",\n      \"users_username as username\",\n    ])\n    .innerJoin(\"users\", \"user_posts.userId\", \"users.id\")\n    .getAll();\n\n// \"SELECT user_posts.id as postId, user_posts.title as postTitle, users_username as username FROM user_posts INNER JOIN users ON user_posts.userId = users.id\"\n```\n\n\u003cbr\u003e\n\n### leftJoin\n\nAbstract:\n\n```typescript\nleftJoin(table: string, field1: string, operator?: string, field2?: string) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .select([\"users.id As userId\", \"user_posts.title As postTitle\"])\n    .leftJoin(\"user_posts\", \"users.id\", \"user_posts.userId\")\n    .getAll();\n\n// \"SELECT users.id As userId, user_posts.title As postTitle FROM users LEFT JOIN user_posts ON users.id = user_posts.userId\"\n```\n\n\u003cbr\u003e\n\n### rightJoin\n\nAbstract:\n\n```typescript\nrightJoin(table: string, field1: string, operator?: string, field2?: string) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"user_posts\")\n    .select([\"users.id As userId\", \"user_posts.title As postTitle\"])\n    .rightJoin(\"users\", \"user_posts.userId\", \"users.id\")\n    .getAll();\n\n// \"SELECT users.id As userId, user_posts.title As postTitle FROM user_posts RIGHT JOIN users ON user_posts.userId = users.id\"\n```\n\n\u003cbr\u003e\n\n### fullOuterJoin\n\nAbstract:\n\n```typescript\nfullOuterJoin(table: string, field1: string, operator?: string, field2?: string) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .select([\"users.id As userId\", \"user_posts.title As postTitle\"])\n    .fullOuterJoin(\"user_posts\", \"users.id\", \"user_posts.userId\")\n    .getAll();\n\n// \"SELECT users.id As userId, user_posts.title As postTitle FROM users FULL OUTER JOIN user_posts ON users.id = user_posts.userId\"\n```\n\n\u003cbr\u003e\n\n### leftOuterJoin\n\nAbstract:\n\n```typescript\nleftOuterJoin(table: string, field1: string, operator?: string, field2?: string) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .select([\"users.id As userId\", \"user_posts.title As postTitle\"])\n    .leftOuterJoin(\"user_posts\", \"users.id\", \"user_posts.userId\")\n    .getAll();\n\n// \"SELECT users.id As userId, user_posts.title As postTitle FROM users LEFT OUTER JOIN user_posts ON users.id = user_posts.userId\"\n```\n\n\u003cbr\u003e\n\n### rightOuterJoin\n\nAbstract:\n\n```typescript\nrightOuterJoin(table: string, field1: string, operator?: string, field2?: string) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"user_posts\")\n    .select([\"users.id As userId\", \"user_posts.title As postTitle\"])\n    .rightOuterJoin(\"users\", \"user_posts.userId\", \"users.id\")\n    .getAll();\n\n// \"SELECT users.id As userId, user_posts.title As postTitle FROM user_posts RIGHT OUTER JOIN users ON user_posts.userId = users.id\"\n```\n\n\u003cbr\u003e\n\n### where\n\nAbstract:\n\n```typescript\nwhere(\n    where: string | Array\u003cstring\u003e,\n    operator?: string | Array\u003cstring\u003e | boolean | null,\n    val?: string | null | number,\n    type?: string,\n    andOr?: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .where(\"id\", \"=\", \"1\")\n    .getAll();\n\n// \"SELECT * FROM users WHERE id = '1'\"\n```\n\n\u003cbr\u003e\n\n### orWhere\n\nAbstract:\n\n```typescript\norWhere(\n    where: string | Array\u003cstring\u003e,\n    operator?: string | Array\u003cstring\u003e | boolean | null,\n    val?: string | null | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .where(\"age\", \"20\")\n    .orWhere(\"age\", \"\u003e\", \"25\")\n    .getAll();\n\n// \"SELECT * FROM users WHERE age = '20' OR age \u003e '25'\"\n```\n\n\u003cbr\u003e\n\n### notWhere\n\nAbstract:\n\n```typescript\nnotWhere(\n    where: string | Array\u003cstring\u003e,\n    operator?: string | Array\u003cstring\u003e | boolean | null,\n    val?: string | null | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .where(\"age\", \"20\")\n    .notWhere(\"age\", \"\u003e\", \"25\")\n    .getAll();\n\n// \"SELECT * FROM users WHERE age = '20' AND NOT age \u003e '25'\"\n```\n\n\u003cbr\u003e\n\n### orNotWhere\n\nAbstract:\n\n```typescript\norNotWhere(\n    where: string | Array\u003cstring\u003e,\n    operator?: string | Array\u003cstring\u003e | boolean | null,\n    val?: string | null | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .where(\"age\", \"20\")\n    .orNotWhere(\"age\", \"\u003e\", \"25\")\n    .getAll();\n\n// \"SELECT * FROM users WHERE age = '20' OR NOT age \u003e '25'\"\n```\n\n\u003cbr\u003e\n\n### whereNull\n\nAbstract:\n\n```typescript\nwhereNull(\n    where: string,\n    not?: boolean\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").whereNull(\"email\").getAll();\n\n// \"SELECT * FROM users WHERE email IS NULL\"\n```\n\n\u003cbr\u003e\n\n### whereNotNull\n\nAbstract:\n\n```typescript\nwhereNotNull(\n    where: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\").whereNotNull(\"email\").getAll();\n\n// \"SELECT * FROM users WHERE email IS NOT NULL\"\n```\n\n\u003cbr\u003e\n\n### grouped\n\nAbstract:\n\n```typescript\ngrouped(\n    callback: (q: ISsiQuery) =\u003e any\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .grouped((q) =\u003e {\n      q.where(\"country\", \"TURKEY\").orWhere(\"country\", \"ENGLAND\");\n    })\n    .getAll();\n\n// \"SELECT * FROM users WHERE (country = 'TURKEY' OR country = 'ENGLAND')\"\n```\n\n\u003cbr\u003e\n\n### in\n\nAbstract:\n\n```typescript\nin(\n    field: string,\n    keys: Array\u003cstring | number\u003e,\n    type?: string,\n    andOr?: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"users\")\n    .in(\"state\", [1, 2, 3, 4])\n    .getAll();\n\n// \"SELECT * FROM users WHERE state IN ('1', '2', '3', '4')\"\n```\n\n\u003cbr\u003e\n\n### notIn\n\nAbstract:\n\n```typescript\nnotIn(\n    field: string,\n    keys: Array\u003cstring | number\u003e\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .notIn(\"id\", [1, 2, 3])\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' AND id NOT IN ('1', '2', '3')\"\n```\n\n\u003cbr\u003e\n\n### orIn\n\nAbstract:\n\n```typescript\norIn(\n    field: string,\n    keys: Array\u003cstring | number\u003e\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orIn(\"id\", [1, 2, 3])\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' OR id IN ('1', '2', '3')\"\n```\n\n\u003cbr\u003e\n\n### orNotIn\n\nAbstract:\n\n```typescript\norNotIn(\n    field: string,\n    keys: Array\u003cstring | number\u003e\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orNotIn(\"id\", [1, 2, 3])\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' OR id NOT IN ('1', '2', '3')\"\n```\n\n\u003cbr\u003e\n\n### findInSet\n\nAbstract:\n\n```typescript\nfindInSet(\n    field: string,\n    key: string | number,\n    type?: string,\n    andOr?: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .findInSet(\"selected_tests\", 1)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' AND FIND_IN_SET (1, selected_tests)\"\n```\n\n\u003cbr\u003e\n\n### notFindInSet\n\nAbstract:\n\n```typescript\nnotFindInSet(\n    field: string,\n    key: string | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .notFindInSet(\"selected_tests\", 1)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' AND NOT FIND_IN_SET (1, selected_tests)\"\n```\n\n\u003cbr\u003e\n\n### orFindInSet\n\nAbstract:\n\n```typescript\norFindInSet(\n    field: string,\n    key: string | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orFindInSet(\"selected_tests\", 1)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' OR FIND_IN_SET (1, selected_tests)\"\n```\n\n\u003cbr\u003e\n\n### orNotFindInSet\n\nAbstract:\n\n```typescript\norNotFindInSet(\n    field: string,\n    key: string | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string =  Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orNotFindInSet(\"selected_tests\", 1)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' OR NOT FIND_IN_SET (1, selected_tests)\"\n```\n\n\u003cbr\u003e\n\n### between\n\nAbstract:\n\n```typescript\nbetween(\n    field: string,\n    value1: string | number,\n    value2: string | number,\n    type?: string,\n    andOr?: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .between(\"age\", 12, 35)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' AND (age BETWEEN '12' AND '35')\"\n```\n\n\u003cbr\u003e\n\n### notBetween\n\nAbstract:\n\n```typescript\nnotBetween(\n    field: string,\n    value1: string | number,\n    value2: string | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .notBetween(\"age\", 12, 35)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' AND (age NOT BETWEEN '12' AND '35')\"\n```\n\n\u003cbr\u003e\n\n### orBetween\n\nAbstract:\n\n```typescript\norBetween(\n    field: string,\n    value1: string | number,\n    value2: string | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orBetween(\"age\", 12, 35)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' OR (age BETWEEN '12' AND '35')\"\n```\n\n\u003cbr\u003e\n\n### orNotBetween\n\nAbstract:\n\n```typescript\norNotBetween(\n    field: string,\n    value1: string | number,\n    value2: string | number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orNotBetween(\"age\", 12, 35)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' OR (age NOT BETWEEN '12' AND '35')\"\n```\n\n\u003cbr\u003e\n\n### like\n\nAbstract:\n\n```typescript\nlike(\n    field: string,\n    data: string,\n    type?: string,\n    andOr?: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .like(\"title\", \"%nodeJS%\")\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' AND title LIKE '%nodeJS%'\"\n```\n\n\u003cbr\u003e\n\n### orLike\n\nAbstract:\n\n```typescript\norLike(\n    field: string,\n    data: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orLike(\"title\", \"%nodeJS%\")\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' OR title LIKE '%nodeJS%'\"\n```\n\n\u003cbr\u003e\n\n### notLike\n\nAbstract:\n\n```typescript\nnotLike(\n    field: string,\n    data: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .notLike(\"title\", \"%nodeJS%\")\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' AND title NOT LIKE '%nodeJS%'\"\n```\n\n\u003cbr\u003e\n\n### orNotLike\n\nAbstract:\n\n```typescript\norNotLike(\n    field: string,\n    data: string\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orNotLike(\"title\", \"%nodeJS%\")\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' OR title NOT LIKE '%nodeJS%'\"\n```\n\n\u003cbr\u003e\n\n### limit\n\nAbstract:\n\n```typescript\nlimit(\n    limit: number,\n    limitEnd?: number | null\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\").where(\"active\", \"1\").limit(20).getAll();\n\n// \"SELECT * FROM test WHERE active = '1' LIMIT 20\"\n```\n\n\u003cbr\u003e\n\n### offset\n\nAbstract:\n\n```typescript\noffset(\n    offset: number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .limit(20)\n    .offset(200)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' LIMIT 20 OFFSET 200\"\n```\n\n\u003cbr\u003e\n\n### pagination\n\nAbstract:\n\n```typescript\npagination(\n    perPage: number,\n    page: number\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .pagination(20, 1)\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' LIMIT 20 OFFSET 20\"\n```\n\n\u003cbr\u003e\n\n### orderBy\n\nAbstract:\n\n```typescript\norderBy(\n    orderBy: string,\n    orderDir?: string | null\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .orderBy(\"date\", \"desc\")\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' ORDER BY date DESC\"\n```\n\n\u003cbr\u003e\n\n### groupBy\n\nAbstract:\n\n```typescript\ngroupBy(\n    groupBy: string | Array\u003cstring\u003e\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\").where(\"active\", \"1\").groupBy(\"id\").getAll();\n\n// \"SELECT * FROM test WHERE active = '1' GROUP BY id\"\n```\n\n\u003cbr\u003e\n\n### having\n\nAbstract:\n\n```typescript\nhaving(\n    field: string,\n    operator?: string | Array\u003cstring\u003e | null,\n    val?: string | null\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query : string = Query.table(\"test\")\n    .where(\"active\", \"1\")\n    .groupBy(\"place\")\n    .having(\"AVG(salary)\", \"\u003e=\", \"3000\")\n    .getAll();\n\n// \"SELECT * FROM test WHERE active = '1' GROUP BY place HAVING AVG(salary) \u003e= '3000'\"\n```\n\n\u003cbr\u003e\n\n### query\n\nAbstract:\n\n```typescript\nquery(\n    query: string,\n    values?: Array\u003cstring | number\u003e | null\n) : ISsiQuery;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst _query = \"SELECT * FROM users WHERE userId = ?\";\nconst query = Query.query(_query, [\"1\"]).getQuery();\n\n// \"SELECT * FROM users WHERE userId = '1'\"\n```\n\n\u003cbr\u003e\n\n### get\n\nBuilds the select query with a limit of 1\n\nAbstract:\n\n```typescript\nget() : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query = Query.table(\"users\").select(\"id, firstName\").get();\n\n// \"SELECT id, firstName FROM users LIMIT 1\"\n```\n\n\u003cbr\u003e\n\n### getAll\n\nBuilds the select query\n\nAbstract:\n\n```typescript\ngetAll() : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query = Query.table(\"users\").select(\"id, firstName\").getAll();\n\n// \"SELECT id, firstName FROM users\"\n```\n\n\u003cbr\u003e\n\n### insert\n\nBuilds the insert query\n\nAbstract:\n\n```typescript\ninsert(data: object) : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst data = {\n    id: \"3\",\n    firstName: \"John\",\n  };\nconst query = Query.table(\"test\").insert(data);\n\n// \"INSERT INTO test (id, firstName) VALUES ('3', 'John')\"\n```\n\n\u003cbr\u003e\n\n### update\n\nBuilds the update query\n\nAbstract:\n\n```typescript\nupdate(data: object) : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst data = {\n    firstName: \"John\",\n    age: 22,\n  };\nconst query = Query.table(\"test\").where(\"id\", \"3\").update(data);\n\n// \"UPDATE test SET firstName='John', age='22' WHERE id = '3'\"\n```\n\n\u003cbr\u003e\n\n### delete\n\nBuilds the delete query\n\nAbstract:\n\n```typescript\ndelete() : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query = Query.table(\"test\").where(\"id\", \"54\").delete();\n\n// \"DELETE FROM test WHERE id = '54'\"\n```\n\n\u003cbr\u003e\n\n### analyze\n\nBuilds the analyze query\n\nAbstract:\n\n```typescript\nanalyze() : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query = Query.table(\"test\").analyze();\n\n// \"ANALYZE TABLE test\"\n```\n\n\u003cbr\u003e\n\n### check\n\nBuilds the check query\n\nAbstract:\n\n```typescript\ncheck() : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query = Query.table(\"test\").check();\n\n// \"CHECK TABLE test\"\n```\n\n\u003cbr\u003e\n\n### checksum\n\nBuilds the checksum query\n\nAbstract:\n\n```typescript\nchecksum() : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query = Query.table(\"test\").checksum();\n\n// \"CHECKSUM TABLE test\"\n```\n\n\u003cbr\u003e\n\n### optimize\n\nBuilds the optimize query\n\nAbstract:\n\n```typescript\noptimize() : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query = Query.table(\"test\").optimize();\n\n// \"OPTIMIZE TABLE test\"\n```\n\n\u003cbr\u003e\n\n### repair\n\nBuilds the repair query\n\nAbstract:\n\n```typescript\nrepair() : string;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nconst query = Query.table([\"test\", \"test_2\"]).repair();\n\n// \"REPAIR TABLE test, test_2\"\n```\n\n\u003cbr\u003e\n\n### reset\n\nIt clears all the values of the query in the class, it is not recommended to use it externally.\n\nAbstract:\n\n```typescript\nreset() : void;\n```\n\nExample:\n\n```typescript\nimport { Query } from \"@ssibrahimbas/query\"\n\nQuery.reset();\n```\n\n\n\u003c/docgen-api\u003e\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F9ssi7%2Fquery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F9ssi7%2Fquery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F9ssi7%2Fquery/lists"}