Simple Comparison Conditions
A simple comparison condition specifies a comparison with expressions or subquery results.
simple_comparison_condition::=

Pay attention that SQL Oracle allows to compare not only two expressions but also two lists of expressions (in the second case the right hand list is created with the help of subquery).
Group Comparison Conditions
A group comparison condition specifies a comparison with any or all members in a list or subquery.
group_comparison_condition::=

Membership Conditions
A membership condition tests for membership in a list or subquery.
membership_condition::=

Range Conditions
A range condition tests for inclusion in a range.
range_condition::=
![]()
NULL Conditions
A NULL condition tests for nulls.
NULL_condition::=
![]()
EXISTS Conditions
An EXISTS condition tests for existence of rows in a subquery.
EXISTS_condition::=
![]()
LIKE Conditions
A LIKE condition specifies a test involving pattern matching.
LIKE_condition::=
![]()
Compound Conditions
A compound condition specifies a combination of other conditions.
compound_condition::=

Example of the tables creation
CREATE TABLE FACULTY
(FacNo INTEGER CONSTRAINT prk_fac PRIMARY KEY,
name VARCHAR2(50) CONSTRAINT nnl_nam NOT NULL
CONSTRAINT unq_nam UNIQUE,
dean VARCHAR2(50) CONSTRAINT unq_den UNIQUE,
building char(5),
fund number(7,2) CONSTRAINT chk_fnd CHECK (fund > 0));
CREATE TABLE DEPARTMENT
(DepNo INTEGER CONSTRAINT prk_dep PRIMARY KEY,
FacNo INTEGER CONSTRAINT frk_dep REFERENCES FACULTY(FacNo) ON DELETE SET NULL,
name VARCHAR2(50) CONSTRAINT nnl_nam,
head VARCHAR2(50),
building char(5),
fund number(7,2) CONSTRAINT chk_fnd CHECK (fund > 0),
CONSTRAINT unq_nmh UNIQUE (name, head));
CREATE TABLE TEACHER
(TchNo INTEGER CONSTRAINT prk_tch PRIMARY KEY,
DepNo INTEGER CONSTRAINT frk_tch REFERENCES DEPARTMENT(DepNo) ON DELETE SET NULL,
name VARCHAR2(50) CONSTRAINT nnl_nam NOT NULL,
post VARCHAR(20) CONSTRAINT chk_pst CHECK (post IN ('assistant', 'counselor',
'assistant professor', 'professor')),
tel char(7),
hiredate date CONSTRAINT nnl_hdt NOT NULL
CONSTRAINT chk_hdt CHECK (hiredate >=
TO_DATE('01.01.1950', 'DD.MM.YYYY')),
salary NUMBER(6,2) CONSTRAINT nnl_sal NOT NULL
CONSTRAINT chk_sal CHECK (salary > 0),
Commission NUMBER(6,2) DEFAULT 0 CONSTRAINT chk_ink CHECK (Commission > 0),
CONSTRAINT chk_sal_ink1 CHECK (2*Commission < salary),
CONSTRAINT chk_sal_ink2 CHECK (salary + Commission < 2000));
CREATE TABLE SGROUP
(GrpNo INTEGER CONSTRAINT prk_grp PRIMARY KEY,
DepNo INTEGER CONSTRAINT frk_grp REFERENCES DEPARTMENT(DepNo) ON DELETE SET NULL,
course number(1) CONSTRAINT chk_crs CHECK (course IN (1, 2, 3, 4, 5)),
num number(3),
quantity number(2) CONSTRAINT chk_qty CHECK (quantity BETWEEN 1 AND 50),
Curator integer CONSTRAINT frk_grp_tch REFERENCES TEACHER(TchNo),
rating number(3) DEFAULT 0 CONSTRAINT chk_rat CHECK (rating BETWEEN 0 AND 100),
CONSTRAINT unq_DepNo_num UNIQUE(DepNo, num));
CREATE TABLE SUBJECT
(SbjNo INTEGER CONSTRAINT prk_sbj PRIMARY KEY,
name varchar2(50) CONSTRAINT nnl_nam NOT NULL);
CREATE TABLE ROOM
(RomNo INTEGER CONSTRAINT prk_rom PRIMARY KEY,
num number(4) CONSTRAINT nnl_num NOT NULL,
seats number(3) CONSTRAINT chk_set CHECK (seats BETWEEN 1 AND 300),
floor number(2) CONSTRAINT chk_flr CHECK (floor BETWEEN 1 AND 16),
building char(5) CONSTRAINT nnl_bld NOT NULL,
CONSTRAINT unq_num_bld UNIQUE (num, building));
CREATE TABLE LECTURE
(TchNo INTEGER CONSTRAINT frk_lec_tch REFERENCES TEACHER(TchNo) ON DELETE SET NULL,
GrpNo INTEGER CONSTRAINT frk_lec_grp REFERENCES SGROUP(GrpNo) ON DELETE CASCADE,
SbjNo INTEGER CONSTRAINT frk_lec_sbj REFERENCES SUBJECT(SbjNo) ON DELETE SET NULL,
RomNo INTEGER CONSTRAINT frk_lec_rom REFERENCES ROOM(RomNo) ON DELETE SET NULL,
type varchar2(25) CONSTRAINT chk_typ CHECK (type in ('lecture', 'lab',
'seminar', 'practice'))
CONSTRAINT nnl_typ NOT NULL,
day char(3) CONSTRAINT chk_day CHECK (day IN ('sun', 'mon', 'tue',
'wed', 'thu', 'fri', 'sat'))
CONSTRAINT nnl_day NOT NULL,
week number(1) CONSTRAINT chk_wek CHECK (week IN (week = 1 or week = 2))
CONSTRAINT nnl_wek NOT NULL,
lesson number(1) CONSTRAINT chk_les CHECK (lesson BETWEEN 1 AND 8),
CONSTRAINT unq_lec UNIQUE (GrpNo, day, week,lesson));
