MySQL-এ সর্টিংয়ের সময় NULL ভ্যালুগুলো ডিফল্টভাবে প্রথমে আসে (ASC-এ)। NOT NULL ভ্যালুগুলো আগে দেখাতে ORDER BY (col IS NULL), col প্যাটার্ন ব্যবহার করা হয়।
টেবিল ও ডেটা
mysql> create table DemoTable1357 ( StudentName varchar(40), StudentCountryName varchar(30) );
mysql> insert into DemoTable1357 values('Chris','US'),('David',NULL),('David','AUS'),('Carol',NULL),('Mike','UK');
ডিফল্ট সর্ট (NULL প্রথমে)
mysql> select * from DemoTable1357; +-------------+--------------------+ | StudentName | StudentCountryName | +-------------+--------------------+ | Chris | US | | David | NULL | | David | AUS | | Carol | NULL | | Mike | UK | +-------------+--------------------+
NOT NULL আগে, NULL পরে (StudentName দিয়ে সেকেন্ডারি সর্ট)
mysql> select * from DemoTable1357 order by (StudentCountryName IS NULL), StudentName; +-------------+--------------------+ | StudentName | StudentCountryName | +-------------+--------------------+ | Chris | US | | David | AUS | | Mike | UK | | Carol | NULL | | David | NULL | +-------------+--------------------+
ব্যাখ্যা: (StudentCountryName IS NULL) এক্সপ্রেশন TRUE (১) হলে NULL রো, FALSE (০) হলে NOT NULL রো। ASC সর্টে ০ আগে আসে, তাই NOT NULL রোগুলো আগে আসে। তারপর StudentName দিয়ে সেকেন্ডারি সর্ট।