← Back to Questions
SQL

What is not null constraint in SQL?

Learn What is not null constraint in SQL? with simple explanations, real-time examples, interview tips and practical use cases.

What is NOT NULL Constraint in SQL?

A NOT NULL constraint in SQL is used to ensure that a column cannot store NULL values.

In simple words:

NOT NULL constraint makes a column mandatory by preventing empty or missing values.


Why NOT NULL Constraints are Important

Enterprise applications require critical fields such as:

  • Customer names
  • Email addresses
  • Order IDs
  • Product prices
  • Employee IDs

Without NOT NULL constraints:

  • Important data may be missing
  • Business operations may fail
  • Reports become inaccurate
  • Data quality decreases

NOT NULL Constraints Solve These Problems

By:

  • Ensuring mandatory data is always provided

Simple Real-Life Example

Think about:

  • A user registration form

Required Fields

  • Name
  • Email
  • Password

Problem

If email is missing:

  • User communication becomes impossible

Solution

  • Apply NOT NULL constraint

NOT NULL Constraint Internal Architecture

INSERT / UPDATE Request
          |
          v
NULL Check Performed
          |
    +-----+------+
    |            |
 Value Exists   NULL Found
    |            |
    v            v
Data Stored   Error Returned

Main Purpose of NOT NULL Constraint

  • Enforce mandatory fields
  • Improve data quality
  • Prevent incomplete records
  • Support business requirements

Basic NOT NULL Constraint Syntax

CREATE TABLE employees (

    employee_id INT PRIMARY KEY,

    employee_name VARCHAR(100)

    NOT NULL

);

Meaning

  • employee_name must always contain a value

Valid Insert Example

INSERT INTO employees

VALUES (1, 'Naresh');

Result

  • Insert successful

Invalid Insert Example

INSERT INTO employees

VALUES (2, NULL);

Result

ERROR:
Cannot insert NULL value

NOT NULL Constraint Query Flow

INSERT or UPDATE Request
          |
          v
Check Column Value
          |
    +-----+------+
    |            |
NOT NULL      NULL
    |            |
    v            v
Success      Error

Common NOT NULL Examples

Customer Name

customer_name VARCHAR(100)

NOT NULL

Email Address

email VARCHAR(150)

NOT NULL

Product Price

price DECIMAL(10,2)

NOT NULL

Order Date

order_date DATE

NOT NULL

NOT NULL vs NULL

Feature NOT NULL NULL Allowed
Value Required Yes No
Data Completeness Higher Lower
Business Safety More reliable Risk of missing data

NOT NULL vs CHECK Constraint

Feature NOT NULL CHECK Constraint
Purpose Prevent NULL values Validate conditions
Logic Support No Yes
Example name NOT NULL salary > 0

NOT NULL vs DEFAULT Constraint

Feature NOT NULL DEFAULT Constraint
Purpose Mandatory value Automatic value assignment
NULL Prevention Yes Not always

Combining NOT NULL with DEFAULT

Common enterprise pattern:

status VARCHAR(20)

NOT NULL

DEFAULT 'ACTIVE'

Meaning

  • Status can never be NULL
  • ACTIVE assigned automatically if omitted

NOT NULL in Banking Systems

Banking systems use NOT NULL constraints for:

  • Account numbers
  • Customer names
  • Transaction amounts
  • IFSC codes

Why Important?

  • Critical financial data must never be missing

NOT NULL in E-Commerce

E-commerce systems use NOT NULL constraints for:

  • Product names
  • Prices
  • Order IDs
  • Payment status

Example

price DECIMAL(10,2)

NOT NULL

NOT NULL in Learning Platforms

Learning systems use NOT NULL constraints for:

  • Student names
  • Course titles
  • Assessment scores
  • Certificate IDs

NOT NULL in Microservices

Microservices architectures use NOT NULL constraints for:

  • Entity identifiers
  • Audit fields
  • Workflow states
  • Critical service data

Advantages of NOT NULL Constraint

  • Improves data quality
  • Ensures mandatory fields
  • Reduces incomplete records
  • Supports reliable reporting

Disadvantages of NOT NULL Constraint

  • May require default values
  • Schema updates needed if rules change

Performance Considerations

NOT NULL constraints generally:

  • Have very low performance overhead

Adding NOT NULL Constraint to Existing Table

ALTER TABLE employees

MODIFY employee_name VARCHAR(100)

NOT NULL;

Removing NOT NULL Constraint

ALTER TABLE employees

MODIFY employee_name VARCHAR(100)

NULL;

NOT NULL Constraint in JPA/Hibernate

Hibernate supports NOT NULL using:

  • @Column(nullable = false)

Example

@Column(

    nullable = false

)

private String employeeName;

Best Practices

  • Apply NOT NULL to mandatory business fields
  • Avoid unnecessary NULL values
  • Combine with DEFAULT where appropriate
  • Document required fields clearly
  • Use validation at both DB and application levels

Common Interview Mistake

Many developers think:

  • Primary key automatically covers all required fields

Reality

Only:

  • Primary key columns are automatically NOT NULL

Other important columns still require:

  • Explicit NOT NULL constraints

Related Learning Topics


Professional Interview Answer

A NOT NULL constraint in SQL is a database constraint used to ensure that a column cannot contain NULL values. It enforces mandatory fields by requiring every INSERT or UPDATE operation to provide a valid value for the constrained column. NOT NULL constraints are commonly applied to critical business fields such as names, email addresses, prices, account numbers, timestamps, identifiers, and workflow states. They improve data quality, prevent incomplete records, and support reliable business operations and reporting. Enterprise systems such as banking platforms, e-commerce applications, ERP systems, learning management systems, and microservices architectures extensively use NOT NULL constraints to maintain mandatory data integrity and ensure consistent application behavior.


Why Interviewers Like This Answer

  • Clearly explains mandatory field enforcement
  • Includes enterprise-level examples
  • Mentions INSERT and UPDATE validation
  • Discusses data integrity importance
  • Shows strong database design understanding

Frequently Asked Questions

What is a NOT NULL constraint?

A NOT NULL constraint prevents a column from storing NULL values.

Why is NOT NULL important?

It ensures mandatory business data is always available.

Can NOT NULL be combined with DEFAULT?

Yes, it is commonly combined to ensure valid automatic values.

Does primary key automatically become NOT NULL?

Yes, primary key columns cannot contain NULL values.

Can NOT NULL be added later?

Yes, using ALTER TABLE statement.

Why this SQL question is important?

This interview question helps candidates understand real-time backend development concepts, practical problem solving, coding fundamentals, system design basics and production-ready application behavior.

Practice this question carefully for Java backend roles, Spring Boot developer interviews, microservices interviews, company interviews and full-stack developer preparation.

About the Author

Naresh Kumar is a Senior Java Backend Engineer with experience building enterprise applications using Java, Spring Boot, Microservices, Docker, Kubernetes and Cloud technologies.