#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
Step 8
3 min read

CHECK Constraint

Learn how to validate data with custom rules.

What is CHECK?

CHECK validates data before inserting. It ensures values follow your rules.

Simple rule: CHECK = "Only allow data that passes this test"

How CHECK Works

Basic Syntax

CREATE TABLE products ( product_id SERIAL PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2) CHECK (price > 0), stock INTEGER CHECK (stock >= 0) );

Example 1: Positive Price

CREATE TABLE products ( product_id SERIAL PRIMARY KEY, name VARCHAR(100), price DECIMAL(10,2) CHECK (price > 0) );

Example 2: Rating Range

CREATE TABLE reviews ( review_id SERIAL PRIMARY KEY, rating INTEGER CHECK (rating >= 1 AND rating <= 5) );

Example 3: Allowed Values

CREATE TABLE students ( student_id SERIAL PRIMARY KEY, grade VARCHAR(1) CHECK (grade IN ('A', 'B', 'C', 'D', 'F')) );

Common CHECK Rules

| Rule | Example | Prevents | |------|---------|----------| | Positive | price > 0 | Negative prices | | Range | rating BETWEEN 1 AND 5 | Invalid ratings | | List | grade IN ('A','B','C') | Invalid grades | | Non-negative | stock >= 0 | Negative stock |

Try It Below

Use the playground to practice:

  • SELECT * FROM products;
  • SELECT * FROM products WHERE price > 100;

What Comes Next

Congratulations! You learned all constraints. Next: JOIN Operations to combine tables.

Try CHECK

View products. Price must be > 0 and stock >= 0.

Source Table: students
product_idnamepricestock
1Laptop999.9950
2Mouse29.99100
3Keyboard79.990
3 rows
SQL Editor
Loading...

Filter by Price

Find expensive products (price > 100).

Source Table: students
product_idnamepricestock
1Laptop999.9950
2Mouse29.99100
3Keyboard79.990
3 rows
SQL Editor
Loading...

Check Stock

Find products with zero stock.

Source Table: students
product_idnamepricestock
1Laptop999.9950
2Mouse29.99100
3Keyboard79.990
3 rows
SQL Editor
Loading...

Finished this topic?

Mark it complete to track your progress and maintain your streak!

SkillsetMaster - AI, Web Development & Data Analytics Courses