Links
Comment on page

ChatGPT as SQL Assistant

Provide context of the structure of your tables and ask ChatGPT to create SQL queries for you
Machine learning and artificial intelligence are changing the way we interact with databases. SQL assistants like OpenAI's ChatGPT are transforming the SQL query landscape, allowing users to interact with data in more accessible and natural ways. Let's see how.

Example 1: The "Students" Table

Consider we have a "Students" table with the following columns: Student_ID, Name, Age, Course_ID, and Average_Grade. This table stores information about students in an educational institution.
We could ask ChatGPT: "Who is the student with the highest average grade?" To which it could respond by generating the following SQL query:
SELECT Name
FROM Students
ORDER BY Average_Grade DESC
LIMIT 1;

Example 2: The "Courses" Table

Now, let's consider a second table, "Courses," with the columns: Course_ID, Course_Name, Teacher, and Number_of_Students. This table contains information about different courses offered at the institution.
We could ask: "How many students are in the Physics course?" ChatGPT could generate the corresponding SQL query:
SELECT Number_of_Students
FROM Courses
WHERE Course_Name = 'Physics';

Example 3: The "Teachers" Table

Finally, let's imagine a third table, "Teachers," with the columns: Teacher_ID, Name, Department, and Age. This table stores data about the teachers at the institution.
If we want to know how many teachers are in the Mathematics department, we could ask ChatGPT: "How many teachers are in the Mathematics department?" To which it would respond with the following query:
SELECT COUNT(*)
FROM Teachers
WHERE Department = 'Mathematics';

Example 4: Performing JOINs

To showcase the potential of ChatGPT, we'll now ask a slightly more complex question that involves all the previous tables. Suppose we ask: "Who is the teacher of the course in which the student with the highest average grade is enrolled?" To answer this question, ChatGPT could respond with the following SQL query:
SELECT Teachers.Name
FROM Teachers
JOIN Courses ON Teachers.Teacher_ID = Courses.Teacher
JOIN Students ON Courses.Course_ID = Students.Course_ID
WHERE Students.Student_ID = (
SELECT Student_ID
FROM Students
ORDER BY Average_Grade DESC
LIMIT 1
);
In this example, ChatGPT demonstrates the ability to understand the relationships between different tables and construct a JOIN query accordingly. This potential makes it an invaluable tool for interacting with databases in a more intuitive and user-friendly manner.