Skip to content

dodonath/SQLQuery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SQLQuery

Coding Assignment

Please ensure that you have installed required IDE on your computer before embarking on this assignment. You may take a maximum of 8-12 hour to complete this assignment.

  • Create object-oriented, scalable, loosely coupled code, and try to look for opportunities to reuse code.

  • Use Design patterns wherever appropriate

  • Use the best industry practices for commenting, code layout, coding style and naming of objects, members, and methods.

  • A simple console application/ a command line application will suffice.

  • Problem 1: Create a SQL query supporting various operators ( IN, LIKE, =, <=, >= , <>, BETWEEN etc)

Assume the application you write can have a JSON in the below format to parse and create the expression

{"columns":[{"operator":"IN","fieldName":"column1","fieldValue":"value"},{"operator":"Equal","fieldName":"column2","fieldValue":"value"}}

As part of your assignment, please write code to implement the following functionalities: -

  • Read the JSON file.
  • Create an SQL QUERY as an output.
  • Problem 2:

Extend the program further to support querying from multiple tables i.e., add support for sub-query or joins in the query builder

The idea of this problem should be to provide a generic solution to build SQL Query supporting any number of tables.

Programming Languages allowed :

  • Java
  • C#.Net
  • Any other Object Oriented Programming Language

Additional notes:

You are allowed to use whatever libraries/parsers you can find provided you can explain the functions you are implementing in detail.

How to complete this challenge:

Fork this repo in github . Include the test code and data in your solution. Add instructions to run your code

Pull request to this repo will be ignored

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages