CREATE TABLE address ( address_id VARCHAR2 (40) NOT NULL, address1 VARCHAR2 (40) NOT NULL, address2 VARCHAR2 (40) NULL, address3 VARCHAR2 (40) NULL, city VARCHAR2(50) NOT NULL, state VARCHAR2(50) NULL, county VARCHAR2(50) NULL, country VARCHAR2(50) NULL, postcode VARCHAR2(10) NOT NULL, flag VARCHAR2(5) NULL, TYPE VARCHAR2(30) NULL, CONSTRAINT address_id_pk PRIMARY KEY( address_id) ); INSERT INTO address (address_id, address1, address2, address3, city, state, county, country, postcode, flag, TYPE) VALUES ( '1', 'a', 'b', 'c', 'xy', NULL, NULL, 'IN', '45', NULL, NULL); INSERT INTO address (address_id, address1, address2, address3, city, state, county, country, postcode, flag, TYPE) VALUES ( '2', 'b', 'b', 'c', 'xy', NULL, NULL, 'IN', '45', NULL, NULL); INSERT INTO address (address_id, address1, address2, address3, city, state, county, country, postcode, flag, TYPE) VALUES ( '3', 'c', 'b', 'c', 'xy', NULL, NULL, 'IN', '45', NULL, NULL); COMMIT; SELECT * FROM address WHERE address1 = 'a' AND address2 = 'b' AND address3 = 'c' AND city = 'xy' AND state IS NULL AND county IS NULL AND country = 'IN' AND postcode = '45';