Hire the best SQL developers

Check out SQL developers with the skills you need for your next job.

Clients rate SQL developers
Rating is 4.8 out of 5.
4.8/5
based on 17,705 client reviews
Cung V.
$150/hr
  • Trophy Icon SQL
  • Lead Generation
  • Data Extraction
  • Web Crawling
  • Data Mining
  • Data Scraping
  • LinkedIn
  • Web Scraping
  • ETL
  • Prospect List
  • Python
  • Social Media Lead Generation
  • List Building
  • LinkedIn Plugin
  • Automation

Scraping data from LinkedIn has become extremely difficult in the last few years – especially at Scale. Tools like Phantombuster can scrape hundreds of profiles a day – but how can you scale it up to tens of thousands a day for your ambitious projects? You may already try services like proxycurl, but more often than not, their data is outdated (scraped months ago). Using Python, in 2018, I built the "one of its kind" system for large-volume LinkedIn scraping projects. The system allows me to ✅ extract LinkedIn profiles from LinkedIn searches (including work emails, standard or sales navigator searches) ✅ extract LinkedIn company profiles...

Julie G H.
$55/hr
  • Trophy Icon SQL
  • Microsoft Access
  • Microsoft Excel
  • Visual Basic
  • Data Analysis
  • Database Design
  • Database Administration
  • Microsoft Access Programming
  • Access VBA

25+ years experience with MS Access design and development, SQL, Excel, data conversions, integration with Peachtree, Quickbooks and Sage. Developed projects in a range of business environments including Manufacturing, Process Handling/Control, BarCoding, Association Management, Heat Treating, Payroll, Time Card Processing, Web Site Design/Management, Data interface between in-house or web-based systems. Services offered include: - extensive analysis of manual procedures - analysis of industry requirements including ISO conformity and certification - analysis of hardware/software requirements - Design of custom software - Upgrades to...

Marcus E.
$75/hr
  • Trophy Icon SQL
  • FileMaker Pro
  • Tableau
  • Microsoft Excel
  • Microsoft Power BI
  • Python
  • Automation
  • Business Intelligence
  • Database Design
  • Python Pandas
  • Data Analysis
  • Data Visualization

I provide my clients a one stop option for organizing and understanding their data. My expertise includes building and maintaining database in FileMaker or PostgreSQL, to conducting data analysis and creating data visualization/reports in Python, R, Tableau, and Power BI. My clients have included law firms, medical services providers, entertainment industries, schools, and non-profits, ranging from solo business to large multi-national organizations.

Keerthan V.
$150/hr
  • Trophy Icon SQL
  • Python
  • Dash
  • Plotly
  • Analytics
  • Industrial Internet of Things
  • Database Modeling
  • PostgreSQL

I am an experienced analytics developer with experience building end to end products. I specialize in helping companies build out their initial analytics infrastructure from scratch. This includes: 1) Building the codebase to collect and aggregate data from various data sources (APIs, Web scraping, other databases, etc). 2) Creating the data model and selecting the appropriate database for your specific use case. 3) Evaluating and choosing the right BI tool for you or deciding to go the route of a custom application 4) Building out dashboards or the custom application. Industries I have experience in: - Manufacturing /...

Antonio J.
$90/hr
  • Trophy Icon SQL
  • Apache JMeter
  • Software Testing
  • Apache Kafka
  • Test Automation Framework
  • Automation
  • LoadRunner
  • Load Testing
  • Automated Testing
  • Deployment Automation
  • Stress Testing
  • Scalability Testing
  • Performance Testing
  • Web Testing
  • Jenkins
  • Test Strategy

Performance Tester Engineer 18+ years Tools: Load Testing Tools: LoadRunner, Performance Center, JMeter, Gatling, Locust, K6, Load UI, LoadImpact and Neoload. Monitoring Tools: New Relic, Dynatrace, App Dynamics, SumoLogic, Splunk and Datadog. Load Testing Cloud SaaS: Flood.io Blazemeter, Octoperf, RedLine13. Automated Testing - QTP/UFT, BTP, TAM, Soap UI, Selenium, Playwright and Puppeteer. Defect Tracking - HP ALM, QC, Jira. • Experience in performance (Load/Stress/Endurance/Capacity/Failover) testing, Application Performance Management (APM) in Testing environments. • Highly experienced in extensive Performance Test Lifecycle which...

Hamza T.
$25/hr
  • Trophy Icon SQL
  • Node.js
  • Vue.js
  • LAMP Stack
  • MEAN Stack
  • Python
  • Scrapy
  • Data Scraping
  • Dashboard
  • Docker
  • Data Mining
  • IT Consultation
  • Web Scraper
  • Django

Website: hamzatasneem.com My ultimate goal is to bring value to your business by taking your idea and turning it into a reality (or an App!). "There are three responses to an outcome - yes, no and WOW. WOW is the one I will aim for." I have an experience of 5 years in Web & Desktop Development with expertise laying mainly in LAMP and MEVN (with Vuejs) stacks. During this time, I have worked with web technologies / frameworks like LAMP, MEVN, Laravel, Wordpress, WooCommerce and JavaScript as well as front-end technologies like Vuejs, JQuery, HTML5, CSS3 and Bootstrap. Additionally I have used JavaSE, C++, Python and ElectronJs from time...

Ryan S.
$59/hr
  • Trophy Icon SQL
  • VB.NET
  • C#
  • ASP.NET
  • Mobile Programming
  • JavaScript
  • Web Apps
  • .NET Framework
  • Database Programming
  • HTML
  • Xamarin
  • .NET Core
  • Razor Template Engine
  • SQL Programming
  • Database Design

I am located in Michigan, USA, and my time zone is Eastern Standard/Daylight Time. Working in software development since 2002, I create business applications that help companies and individuals collect and use information. *Web (ASP.NET, Web API, C#, Javascript) *Database (SQL Server, MySQL, MS Access, SQLite, Dapper, Entity Framework) *Mobile (Xamarin Forms iOS/Android, Javascript, Cordova) *Desktop and Server (C#, WPF, WinForms, Console, Services) *Reporting *General Consulting and Business Analysis My strength is in the full software development life-cycle, from analysis to deployment and all steps in between. I have participated in...

Keith H.
$100/hr
  • Trophy Icon SQL
  • Data Science
  • SQL Programming
  • Microsoft Power BI
  • Marketing Data Analytics
  • Business Intelligence
  • KPI Metric Development
  • Data Analysis
  • Data Visualization
  • Dashboard
  • Microsoft Power BI Data Visualization
  • Microsoft Power BI Development
  • Microsoft SQL Server
  • ETL
  • Microsoft Azure

➤ Experienced and certified Power BI Analyst with advanced skills in SQL, Power Query (M), and DAX. ➤ Excellent communication skills and a commitment to client satisfaction. ➤ With five years experience using Power BI and 18 years as a software developer, I have a proven track record of unifying complex data sources and creating effective visualizations. ➤ Familiarity with healthcare, financial, and retail industries and the KPIs that drive them ➤ Expert in integrating dashboards into existing applications via Power BI Embedded and the Power BI Service

Theo A.
$130/hr
  • Trophy Icon SQL
  • HTML
  • Email Marketing
  • Marketing Automation Audit
  • Marketing Automation Strategy
  • Solution Architecture
  • Business with 1000+ Employees
  • Marketing Campaign Setup & Implementation
  • Business with 100-999 Employees
  • Business with 10-99 Employees
  • Analytics
  • Salesforce Marketing Cloud
  • CSS
  • Marketing Automation
  • Email Campaign Setup

🌟TOP-RATED/EXPERT-VETTED CERTIFIED SALESFORCE MARKETING CLOUD EXPERT🌟 Who has been working within the platform extensively since 2013, implementing email marketing campaign solutions and developing emails within Marketing Cloud for several 🌟ENTERPRISE CLIENTS🌟 such as: ✅ The Home Depot ✅ Advance Auto Parts ✅ Grammarly ✅ WeWork ✅ Cox Automotive [AutoTrader | Manheim | Kelley Blue Book | DealerTrack | Dealer.com] ✅ 1stDibs: Antique and Modern Furniture, Jewelry, Fashion & Art ✅ Carter's and OshKosh B'gosh ✅ Rentpath [Rent.com | ApartmentGuide.com] ✅ Driven Brands [Meineke | Maaco | Take 5 Oil Change] ✅ Arizona State University ✅...

John D.
$70/hr
  • Trophy Icon SQL
  • Moodle
  • WordPress
  • PHP
  • Learning Management System
  • Elearning
  • JavaScript
  • CSS
  • Shareable Content Object Reference Model
  • Instructure CANVAS
  • Shopify
  • Authorize.Net
  • Amazon Web Services
  • Adobe XD
  • Elearning LMS Consulting

Need results that reflect your UX, ROI, or release goals? Need someone who will communicate clearly, care about your success, and resolve potential challenges before they cause trouble? Need fractional ongoing support? My aim is to be that person for you. Let's get started! ............... Expert-Vetted & Top-Rated Plus by Upwork (Top 1% of freelancers) ............... Services & Results Learning - Hundreds of successful projects spanning Moodle v1.x-4.x and Canvas: a) Front-end UX / theme / plugin enhancement using CSS, JS/jQuery, and PHP b) Infrastructure config/optimization, including scaling/DB/CDN/security/caching...

Viktor Y.
$30/hr
  • Trophy Icon SQL
  • Visual FoxPro
  • C#
  • ASP.NET MVC
  • JavaScript
  • Transact-SQL
  • jQuery
  • Bootstrap
  • CSS
  • AngularJS
  • FoxPro Programming
  • Microsoft Windows
  • Desktop Application
  • Microsoft SQL Server

I have programming experience for more than 25 years. Used programming languages: Visual Foxpro and C#. Also familiar with VB.Net, Visual Basic, VBA etc. For the past 4 years I've been working on the development and support of websites using ASP.NET MVC, HTML5, CSS, Javascript, jQuery, AngularJS, Knockout and other frameworks. I have good skills to work with MS SQL. Familiar with MySQL. I have experience in transforming FoxPro applications to .NET, enhancing the capabilities of VFP application by creating COM classes using c#. I have already created tools for many web APIs, such as: Amazon MWS, Shopify, BigCommerce, WooCommerce, Intuit...

Ryan K.
$130/hr
  • Trophy Icon SQL
  • Microsoft SQL Server Administration
  • Microsoft SQL Server Programming
  • Transact-SQL
  • SQL Server Integration Services
  • Microsoft SQL Server Reporting Services
  • Microsoft SQL SSAS
  • Database Optimization
  • Database Design
  • Microsoft Azure
  • Database Architecture
  • Microsoft Azure SQL Database
  • Data Migration

✅ TOP RATED Consultant on UpWork | *100% Client Recommendation Score* My name is Ryan, and I am one of Upwork's highest rated SQL Server DBA (Database Administrator) and Developers. I've worked with numerous companies on projects including database administration, optimization, performance tuning, automation, and SQL programming. If you are having a database issue, you have come to the right place for help. Unlike other database professionals, I am able to effectively communicate to understand your business needs and technical architecture in order to meet your deliverables. I keep my high Job Success Score and Five-Star Feedback rating...

Dmytro D.
$45/hr
  • Trophy Icon SQL
  • Code Refactoring
  • Microsoft Azure
  • .NET Core
  • Algorithm Development
  • Windows App Development
  • DevExpress
  • .NET Framework
  • C#
  • Computer Network
  • XAML
  • Windows Forms
  • Windows Presentation Foundation
  • JSON
  • Standalone Application

Hi, my name is Dmytro, I'm .Net developer form Ukraine (UTC+2). I have been working as a developer from 2012. Starting as Junior developer, now I am a Senior Developer. It is not a problem for me to combine research, architecture and development. Here is a list of technologies I have experience with: ✓ OOP and System Design (7+ years); ✓ Theoretical knowledge and practical experience with design patterns; ✓ Asynchronous and multithreading development (TPL); ✓ Rest API design, architecture, implementation and integration; ✓ .NET Desktop (WPF) (5+ years); ✓ Telerik and DevExress frameworks for WinForms and WPF (5+ years); ✓ .NET / .NET...

Nazar R.
$70/hr
  • Trophy Icon SQL
  • Python
  • JavaScript
  • AngularJS
  • Django
  • Website Development
  • Node.js
  • React
  • Amazon Web Services

Qualified Full Stack Web Developer with more than 9 years of experience. I can help you with: - websites (custom-crafted and built on CMS) - apps (mobile and web) - SaaS platforms Already have mockups? I can turn them into pixel-perfect fully functioning websites and apps. Ready to work on a big project? Let's use Agile methodologies together! I'm totally open for you and will help to choose the suitable one based on your preferences and requirements. Technologies I am working with: Back-End ✔ Java ✔ LAMP Stack (Linux, Apache, MySQL, PHP), MEAN (MongoDB, Express.js, Angular, and Node.js), MERN (MongoDB, Express.js, React, and Node.js)...

Satya Sheel P.
$120/hr
  • Trophy Icon SQL
  • Amazon Web Services
  • Database Design
  • Database Architecture
  • Data Warehousing
  • MongoDB
  • Big Data
  • Data Modeling
  • ETL Pipeline
  • Snowflake
  • ETL
  • Business Intelligence
  • Data Warehousing & ETL Software
  • Python
  • Apache Kafka

I have 14 years experience in data modelling, data engineeering, data management, analytics, and product development in various projects and clients across geographies. With a broad range of skills, I can adapt quickly, work efficiently and liaise confidently as part of a team or on my own. I worked with various technologies in my career, giving me the advantage to help my clients with the cross-functional view to solve the business requirements. I can help with Python, Kafka, data modeling, and automation.

Timo T.
$60/hr
  • Trophy Icon SQL
  • Java
  • AngularJS
  • REST
  • Web Scraper
  • Web Crawling
  • QuickFIX
  • Spring Framework
  • Forex Trading
  • Agile Software Development

I am a Finnish Java expert with over 20 years of work experience. I have worked since 2003 as a software freelancer for over 40 companies around the world. I have been part of about 60+ software projects, small, large and everything in-between. Before my freelancer career I worked for Nokia Mobile Phones company 1995-1997 and also for a couple of smaller Finnish IT-companies. I have worked also in Germany 2000-2002. Nowadays I live most of the year in tropical South East Asian countries and I do remote work projects.

Robert W.
$70/hr
  • Trophy Icon SQL
  • Rust
  • PHP
  • JavaScript
  • MySQL
  • PostgreSQL
  • HTML
  • CSS
  • Symfony
  • Amazon Web Services
  • Unix
  • Linux
  • Ubuntu
  • Linux System Administration

Senior developer with exposure to a wide variety of environments and a diversity of challenges. Distinction for creative thinking, problem-solving, and resilience in high-pressure situations. Capable of working independently or with a team through the lifecycle of a project. Ability to assist in business analysis and requirements gathering, as well as development, implementation, and support. Approachable, funny, easy-going, and pragmatic. Native English speaker. AREAS OF EXPERTISE • Expert PHP/JavaScript/Rust/Linux/MySQL/HTML/CSS • DevOps AWS/Azure • Cloud application maintenance and management • MySQL database administration • Scaling...

Amber S.
$150/hr
  • Trophy Icon SQL
  • Tableau
  • Marketing Data Analytics
  • Data Visualization
  • Dashboard
  • BigQuery
  • PostgreSQL
  • Snowflake

Amber is a Certified Tableau Professional helping companies around the world understand their data. She has published over 4,000 dashboards during her career. In 2014 and 2015, she was named a Tableau Ambassador for her efforts in leading the Oklahoma City Metro Tableau User Group.

Douglas D.
$60/hr
  • Trophy Icon SQL
  • FileMaker Pro
  • Delphi
  • Database Programming
  • Database Management
  • JavaScript
  • Microsoft Excel
  • HTML

I have 10+ years experience in developing a wide range of database and web applications such as crm, mrp and medical systems using front-end tools such FileMaker, Delphi and C++Builder and back-end tools such as mySQL, PostgreSQL, Firebird and SQLServer. My main expertise though is FileMaker and I am well-versed from 5.5 to the latest version 19. I have excellent Scriptmaker skills, good AppleScript skills, excellent knowledge of the use of a variety of plug-ins, good interface design, reporting skills and project documentation skills. I am easy to work with and communicate with and most of the time available online.

Joshua B.
$150/hr
  • Trophy Icon SQL
  • Microsoft SQL Server Programming
  • Business Intelligence
  • Microsoft SQL Server Administration
  • SQL Programming
  • Microsoft Azure SQL Database
  • Data Warehousing
  • Database Administration
  • Database
  • Microsoft SQL Server
  • Performance Optimization
  • SQL Server Integration Services
  • Database Maintenance

⭐⭐⭐⭐⭐"Josh is totally fantastic. His work had a tremendous impact on our software systems. He is very punctual, responsive, and professional in every way imaginable." I'm the highest rated and highest-earning SQL Server DBA freelancer on Upwork with numerous 5-star reviews, including overly positive feedback. I've solved customer-facing SQL Server bottlenecks and made massive performance improvements for fortune 500 companies and well-known organizations, including the following to illustrate some of them: ✅ Oracle Cerner (Fortune 500 Company) ✅ CBRE (Fortune 500 Company) ✅ Stanford University ✅ Alltech Inc. (~2.5 Billion...

Tayyab U.
$70/hr
  • Trophy Icon SQL
  • Pentaho
  • Data Warehousing
  • ETL
  • Microsoft SQL Server Programming
  • SQL Server Integration Services
  • Data Scraping
  • Tableau
  • Business Intelligence
  • Microsoft Power BI
  • ETL Pipeline
  • Data Integration
  • Python
  • Data Migration

I am Snowflake Certified Data Engineer with 7+ years of experience in ETL, BI, and DWH. Currently working as Lead on multiple projects. Having excellent analytical & design skills, a focused approach, a professional attitude to work, and working at the eastern standard time will make me the perfect candidate that you are looking for! PROFILE:- • Hand-on experience on Pentaho Data Integration, SSIS, Informatica • Exposure to large data volumes in major database systems like Postgres, Redshift • Deep knowledge of SQL, and Reporting experience in Tableau, Power BI • Experience in DWH with substantial knowledge of Finance and Retail domains •...

Neal B.
$135/hr
  • Trophy Icon SQL
  • Google Cloud Platform
  • Database Development
  • PHP
  • Technical Project Management
  • WordPress
  • CSS
  • Azure DevOps
  • PostgreSQL Programming
  • SQL Programming
  • Database Programming
  • MySQL Programming
  • Web Development

Hello and thanks for visiting my profile! With over twenty years of experience in Website and Application Development, SQL and DBA expertise, Cloud Management, and Project Management, I have a proven track record of successfully handling both short and longer-term projects, which makes me a great choice for you. My schedule is very flexible, as I often work not only daytime hours, but early morning and late evening as well. My Website/Development skills: - WordPress site and plugin development, and customization - Elementor, The Event Calendar, Divi, Beaver Builder, Gutenberg - Application development - PHP, Python, .Net, C#, CSS, HTML5,...

Vladimir S.
$60/hr
  • Trophy Icon SQL
  • MySQL Programming
  • Swift
  • Python
  • Flask
  • iOS Development
  • Django
  • API Development
  • Backend Rest API
  • iOS
  • Stripe
  • AWS Lambda
  • AWS Fargate
  • PostgreSQL Programming
  • API

My specialization is Python/Flask/FastAPI/AsyncIO and iOS/Swift development. I have a great Django, Flask and FastAPI development experience, both websites, web services APIs and mobile applications. I worked as a team leader in several projects, and managed teams consisted of 3 to 8 developers. I have experience of ✅ DHTML for 7 years (HTML,CSS3, JavaScript), ✅ Python programming for 6 years (Django/Tornado/Flask) ✅ Swift for iOS development Databases: ✅ MySQL, ✅ PostgreSQL, ✅ MongoDB Backend tech and tools: ✅ FastAPI ✅ Django ORM ✅ Flask ✅ Django REST Framework ✅ SQLAlchemy ✅ AsyncIO ✅ Docker ✅ New Relic ✅ uWSGI ✅ IBM Watson...

Julieta F.
$80/hr
  • Trophy Icon SQL
  • MySQL
  • Digital Marketing
  • Data Analysis
  • Chartio
  • PowerBI
  • Google Analytics
  • Data Visualization
  • Tableau
  • Domo
  • Firebase
  • Google Data Studio
  • BigQuery
  • Analytics
  • Marketing Data Analytics

I am essentially an Analyst. I am continuously trying to find answers to questions, trying to understand what happens and why to contribute to the decision-making process. In the first years of my career, my focus was on traditional marketing and advertising, and then it moved to digital marketing and e-commerce. I have experience working on data tracking planning and implementation, data modeling, data visualization, and analysis, along with data engineers, QAs, and data scientists in the process. In different verticals such as CPG, Apparel, Beauty, Retail, Travel, Automotive. Skills set: self-training/self-learning, data exploration,...

Fledin Y.
$25/hr
  • Trophy Icon SQL
  • Spring Framework
  • MongoDB
  • CI/CD
  • AngularJS
  • Hibernate
  • Business Logic Layer
  • PostgreSQL
  • Java
  • JavaScript

I am a software engineer (B.S) from Tirana, Albania (Central European Timezone). I am open to remote full time and long term contracting positions. Since working both on-site and remotely on geographically distributed teams, sometimes on vastly different time zones, I've come to give an utmost importance to things such as trust, communication (both written & verbal), sharing of knowledge and being open to criticism. Where is my experience focused ? --------------------------------------------- Java enterprise ecosystem - From single monolithic application to from-scratch projects to enterprise integration. I have worked with a multitude...

Nancy Z.
$70/hr
  • Trophy Icon SQL
  • R
  • R Shiny
  • Data Science
  • Data Analysis
  • Epidemiology
  • Public Health
  • Python
  • Machine Learning
  • Microsoft Power BI Data Visualization
  • Forecasting
  • Data Modeling
  • Linear Regression
  • Logistic Regression
  • Data Visualization

I am a data scientist with academic training in epidemiology and 5 years of working experience in data analytics for both government organizations and consulting firm. I have experience on those projects: - Developing data visualization products using R Shiny, Microsoft PowerBI or Tableau - Conducting observational studies using health administrative data such as HCUP NIS, Truven MarketScan, electronic medical records, etc. - Building prescriptive or predictive models (mixed effect model, logistic regression, clustering, decision tree, etc.) - Web scraping for data acquisition - Reports automation I excel at listening to clients' needs...

Guzel M.
$60/hr
  • Trophy Icon SQL
  • PHP
  • Laminas
  • MySQL
  • JavaScript
  • Yii
  • API Development
  • Facebook Development
  • XML
  • Sphinx
  • Amazon S3
  • Amazon EC2
  • Twitter API
  • Twitter Bootstrap
  • Google Maps API

I am a professional back-end web developer, with more than 10 years experience. I have worked on different projects, including corporate / personal websites, Ecommerce websites, Blogs and custom web applications. I have experience using different technologies and platforms, e.g.: Yii, Zend Framework, WordPress, React, jQuery, Bootstrap, etc. I can always help you to find the right solution for your project.

$NaN/hr

How it works

1. Post a job (it’s free)

Tell us what you need. Provide as many details as possible, but don’t worry about getting it perfect.

2. Talent comes to you

Get qualified proposals within 24 hours, and meet the candidates you’re excited about. Hire as soon as you’re ready.

3. Collaborate easily

Use Upwork to chat or video call, share files, and track project progress right from the app.

4. Payment simplified

Receive invoices and make payments through Upwork. Only pay for work you authorize.

Trusted by 5M+ businesses

How to Hire Top SQL Developers

How to hire SQL developers

A SQL programmer designs tables, writes queries, and ensures that these queries perform at optimal speeds. Most SQL developers are either database administrators or experts in managing database development. There are different flavors of SQL depending on the platform you use, but they all perform the same basic functions—retrieve, add, edit, and delete database data. And a SQL programmer will be well-versed in all of these functions. Typical tasks for a SQL programmer include:
  • Reviewing query performance and optimizing code
  • Writing queries used for front-end applications (websites, desktop applications, or cloud apps)
  • Designing and coding database tables to store the application’s data
  • Data modeling to visualize database structure
  • Working with application developers to create optimized queries
  • Creating database triggers for automation, e.g., automatic email notifications
  • Creating table indexes to improve database performance
  • Programming views, stored procedures, and functions

How to shortlist SQL specialists

If you need someone to design a database for you, work with your website developers, or optimize a slow database, you’re looking for a SQL programmer. To attract the best talent, you should clearly define what you need and what you’re looking for.
  • Know what database platform you want to use. The three most common are SQL Server, MySQL, and Oracle. If you have an existing application, find out what database platform you use by asking your developer or contacting your host provider.
  • What challenge is your SQL programmer solving, or helping to solve? Clearly explain the tasks and needs of the project. Identify the specific services and deliverables with enough detail so that freelancers can determine that they’re able to perform the work.
  • Define what level of experience your project requires.
    • Entry-level SQL developers can create simple queries that don’t require too much advanced code.
    • An intermediate-level SQL developer can typically code easy to advanced queries and even perform some database maintenance and optimization for performance. An intermediate-level SQL programmer can be great for simple websites that don’t have too much overhead.
    • An expert SQL developer should be able to do it all—optimize your queries when your website is too slow due to database performance, write queries for heavy traffic databases, and design tables and indexes for the best database architecture and performance.
After posting a detailed and thought-out project description that defines your SQL developer’s tasks, you should receive several proposals from freelancers across the globe with a variety of skill sets. How do you choose the right one for your project? Experience is especially important with SQL programmers because they create the queries that form your website’s output. Gauge their experience level both by reviewing previous work and asking specific questions when you interview them. Most programmers are used to answering technical questions as part of the interview process. You may choose to ask your freelancer some basic SQL programming interview questions to judge their level of experience. For SQL in particular, it can be difficult for a freelancer to display portfolio items, but you can review the items they uploaded to their profile and their previous work experience.

How to write a job description for a SQL developer

Below is a sample of how a project description may look. Keep in mind that many people use the term “job description,” but a full job description is only needed for employees. When engaging a freelancer as an independent contractor, you typically just need a statement of work, job post, or any other document that describes the work to be done.
  1. Project Title
  2. Project Overview
  3. XYZ Company is looking for a SQL programmer to create and optimize database queries that run a small e-commerce store cloud application. We need someone to handle queries for the database and return data sets for the frontend.
Deliverables include:
  • Determining what data must be returned to the application and writing queries for it
  • Optimizing any existing queries to speed up performance
  • Creating and designing tables when new new modules are added to a software product
  • Reviewing current database design and making suggestions for better performance
  • Creating table indexes that optimize query speeds
  • Defining triggers on necessary tables
  • Determining the right stored procedures, views, and functions for the application
  • Deadline for deliverables: All work must be completed by XYZ date.
  • Skills:
    • Database administration
    • Table design including normalization
    • Database backups and recovery is a plus but not necessary
    • Understanding the way databases work with cloud applications is also a plus

SQL FAQs

What is SQL?

Structured query language (SQL) is the foundation for back-end database programming and design. It’s the language that allows us to access and manipulate databases, execute queries, retrieve data, edit data, and insert new data—essentially, everything that makes databases interactive, not static. If you want your website or application to be dynamic and interactive, you’ll need a SQL developer to design and program your database.

Why hire a SQL developer?

Some SQL programmers assist the database administrator with standard maintenance, but this is not usually required. However, having experience in database administration and maintenance is a great addition to the standard skillset of a SQL programmer. If your database administrator is on vacation or leaves the company, the SQL programmer can easily fill in.

Common SQL mistakes

SQL (structured query language) is a simple language, but it’s not so simple when you’re working with data sets that contain millions of records. When you work with mid- to large-size tables, writing top-performing SQL statements is a priority. Before you sit down to write your SQL statements for any platform—Oracle, SQL Server, MySQL, or any others—here are the top 10 common SQL programming mistakes to avoid.

1. Forgotten primary keys

Every table requires a primary key for performance. If you don’t have a primary key in any table, your tables don’t follow standard SQL requirements and performance suffers. Primary keys are automatically set as clustered indexes, which speeds up queries. They are always unique, so you can use an auto-incremented numeric value if you have no other column in the table that meets the unique requirement. Primary keys are your first step to relational databases.

They link to foreign keys in relational tables. For instance, if you have a table that has a list of customers, the “CustomerId” column would be unique to every customer. This could be your primary key column. Your CustomerId value would then be placed in the Orders table to link the two tables together. Always use a primary key in every table you create regardless of its size.

2. Poorly managed data redundancy

Data redundancy is good for backups but not for table data. Each table should contain a unique data set that doesn’t repeat data in other table locations. This is one of the more difficult ideas for a new SQL developer to follow. It’s very easy to forget normalization rules and repeat data across multiple tables for conveniences, but it’s not necessary and represents poor table design. For instance, suppose you have a customer table that contains the customer’s address. Since the address relates to the customer, it’s in the proper location. You then create an “Order” table and add the customer’s address in the Order table.

This type of data redundancy is poorly designed. The Customer and Order table can link together using relationships across primary and foreign keys. What happens when you forget to update the customer’s address in the Order table? The result is that you now have two addresses for the customer and you don’t know which one is accurate.

3. Avoid NOT IN or IN and use JOIN instead 

NOT IN and IN statements are not well optimized. They are convenient, but usually they can be replaced by a simple JOIN statement.

4. Forgotten NULL vs. empty string values

The NULL vs. empty string debate between database administrators has been ongoing for decades. You can choose to use NULL values when no value is present or you can use actual literal values such as zero-length strings or 0 integer values. What you use in the database should be uniform across all tables or queries can get messy. Remember that NULL values aren’t the same as, for instance, a zero-length string, so your queries must account for these values if there is no standard in your table design.

When you determine what you want to use, make sure your queries account for these values. For instance, if you allow NULLs for a user’s last name, you must query using the NULL filter (either NOT NULL or IS NULL) in your clauses to include or exclude these records.

5. The asterisk character in SELECT statements

Always define the columns you want to return in your queries. This standard is for performance and security reasons. Take the following query, for example. SELECT * FROM Customer The query returns all customer values including any sensitive data you might keep in the table. What if you keep the customer’s password or social security number in the table?

Hopefully, these values are encrypted, but even having the hashed value can help hackers. It’s also a performance issue if you have dozens of columns in the table. Instead of the above query, always define each column. The following statement is an example. SELECT CustomerId, FirstName, LastName FROM Customer The above statement defines each column and limits the size of the record set as well as what a hacker can see should there be a data breach.

6. Looping with too many cursors

Cursors, the looping structures in the SQL language, are the bane of database performance. They allow you to loop through millions of records and run statements against each one individually. While this may sound like an advantage, it can destroy database performance. Loops are common in programming languages, but they’re inefficient in SQL programming.

Most database admins reject SQL procedures with cursors implemented. It’s best to write the procedure in another way to avoid adversely affecting database performance if possible. Most cursors can be replaced by a well-written SQL statement. If you can’t avoid it, then cursors should be kept to scheduled jobs that run during off-peak hours. Cursors are used in reporting queries and data transformation jobs, so they can’t always be avoided. Just limit them as much as possible in production databases that perform daily queries against your database.

7. Data mismatches in field assignment procedures

When you declare your table columns, you must give each column a data type. Make sure this data type covers all the necessary values you need to store. Once you define a data type, you can only store that type of value in the column. Always account for what you need to store when you design your tables. This includes writing queries—when you write your queries and pass parameter values to a stored procedure, the variable must be declared with the right data type. Variables that don’t represent the column data type will also throw errors or truncate data in the process.

8. Logical OR and AND operations

When writing your queries, it’s easy to miss simple logic order. AND and OR statements can greatly change a data set. You can avoid common SQL bugs by either using parenthesis or organizing your statements to represent the logic that should be applied.

9. Subqueries must return one record

Subqueries aren’t an optimal way to write SQL statements, but sometimes they can’t be avoided. When you use subqueries, they must always return one record or your query will fail.

10. JOIN on indexes

A table should always be well indexed, and you can take advantage of these performance enhancements by using the JOIN statement on columns assigned to an index. In the previous examples, we used the primary and foreign keys of a table. The primary key column is always an index, so you don’t need to worry about performance there. However, the foreign key should have an index on it as well. Any JOIN statements you use should have an index set on the column. If there is no index, consider adding one to the table. Avoid these ten SQL pitfalls, and you’ll be on your way to creating a fast, efficient database for any small, medium, or large online business.

Tips and best practices for SQL programmers

Structured query language (SQL) is the primary language for databases. Whatever relational database platform you decide to use, you’ll need to use SQL to edit, insert, delete, and query records within the database. Each platform has small differences between their respective SQL syntax, but logic and development are still similar. The language is different than NoSQL, which has similarities but mainly different syntax. Here are some tips and best practices for any SQL development project.

1. Think about relationships

The SQL language is the language of relational databases. You need to build tables based on relationships without creating “orphans.” Orphans are tables that don’t have a relationship with any other table and are poor database design. Each table should have a relationship with another, so when you query the database for records, you can join the tables together through their designated relationship.

You build a relationship through primary and foreign keys. For instance, suppose you have a customer table and an order table. Without the customer ID in the order table, the order table is orphaned. By placing the customer ID in the order table, you now have a relationship between the two tables that you can use to create queries.

2. Always consider performance, even if the query seems simple

Just because your SQL data set has few records currently doesn’t mean the data set won’t grow significantly after you move it to production. You should join tables on indexes and always have a primary key in each table.

One common mistake is to run a poorly performing query in development when the system has no users querying and very few records. The query runs fast, because there’s no load on the database server. Then, when the query is promoted to production and run in a busy environment, the query performs poorly and undermines site performance. Always consider performance even if the query seems like it won’t need many resources from the database server.

3. Use table aliases for easier reading

Let’s say you’re a developer who needs to maintain someone else’s code. Or, you’re a business owner who needs to hire a SQL developer to fill in the gaps with a specific project. The SQL developer can pick up where another developer left off much quicker if the code uses aliases and is well formatted.

Aliases shorten the name of a table and make it easier to read and determine the logic in a SQL statement. When you build a database, always consider the way the code is written. It should be easy for you and another developer to determine its logic and data set. Poorly coded SQL code can lead to bugs should another developer need to edit it.

4. Be specific in your SELECT clauses

In any common SQL language, the asterisk ( * ) tells the database engine to return all columns within a table. There are several issues with this habit. The first issue is security. If a hacker is able to use a SQL injection attack on your database, it could leave every column available for theft. If you have customer passwords stored in the table, the attacker can expose passwords.

The second issue is performance. If you have a million records returned from a query, you affect performance when you return a couple dozen columns rather than the few that you need.

The third issue is that it’s difficult to determine what data will be returned. If you specify columns in your SELECT queries, you know exactly which ones are returned to the front-end application. For these three reasons, always specify the columns you want to return and avoid using the “all” or asterisk character in your queries.

5. Use NOCOUNT for large batch queries

When you perform ad hoc queries such as updates and inserts on your database, the engine first performs the action, then gives you a count of the number of records that were affected. This is great for one-off changes when you want to confirm that changes were made to a specific number of records, but it shouldn’t be done on queries that run regularly. When NOCOUNT isn’t used, the database must count the number of rows that were affected. This isn’t a necessary count with production queries that run regularly. Use NOCOUNT at the top of your stored procedures or ad hoc queries to improve performance.

6. Avoid dynamic SQL

SQL injection is one of the most common attacks on the web. This type of attack leads to severe data breaches that expose millions of records to an attacker. Extremely strategic SQL injection attacks can even elevate permissions for the attacker to give them administrative rights on the database server. Dynamic SQL is a type of coding that builds a SQL statement based on input from a user.

Typically, it’s done on the front-end application side, but some SQL developers use it too. Dynamic SQL should be avoided at all costs—it’s this type of development that leads to SQL injection exposure. If you absolutely need to use dynamic SQL, you should “scrub” data input and make good attempts to detect malformed SQL statements. You can use third-party tools or integrated tools available with some languages. For instance, the C# language has the TSqlParser class to help programmers identify SQL injection in a dynamic SQL environment.

7. Don’t forget Object-Level security

Security should always be a priority when designing a database regardless of the platform you use. Object-level permissions provide security based on the user and what the account can access. For instance, you want to use a separate user name for all of your databases and give them access to the database accordingly.

By using this method, if a hacker gains access to the account, they’ll only be able to access one database and not the entire server. You can be even more specific with object-level permissions. This tells the database the exact tables and even columns that the user can access. By using object-level permissions, you limit the amount of exposure if an attacker is successful at SQL injection. For instance, suppose you store social security numbers in the database. A public-facing user application should never have access to this information. You only want internal employees to have access. So, you create a public-facing user account and give it object-level permissions to the table, then access rights to specific columns, excluding the social security column. If a hacker gains access to this account, they won’t be able to view social security numbers, which limits your data breach exposure, risk, and damages.

View less
Schedule a Call