I have created scripts as follow
CREATE TABLE STUDENTS(
STD_ID Number,
STD_NAME Varchar2(25 ) CONSTRAINT SYS_C002716 NOT NULL,
PHONE_NUMBER Char(20 ),
FATHER_ADDRESS Varchar2(100 ),
BASIC_GRADE Number(38,0),
REGISTER_DATE Date,
COMMENT_ON Char(200 ),
STD_ADDRESS Varchar2(100 ),
STD_RESPONSIBLE Varchar2(100 ),
RESPONSIBLE_RELATION Varchar2(50 ),
MOTHER_NAME Varchar2(30 ),
STUDENT_TYPE Varchar2(10 ),
YEAR Char(50 ),
STD_NUMBER Number
)
/
-- Add keys for table STUDENTS
ALTER TABLE STUDENTS ADD CONSTRAINT SYS_C002717 PRIMARY KEY (STD_ID)
/
-- Table CLASSES
CREATE TABLE CLASSES(
CLASS_NAME Char(40 ),
CLSS_NUM Number(38,0) CONSTRAINT SYS_C009724 NOT NULL,
LEV_ID Number(38,0)
)
/
-- Add keys for table CLASSES
ALTER TABLE CLASSES ADD CONSTRAINT KEY3 PRIMARY KEY (CLSS_NUM)
/
-- Table STUDENT_AND_CLASSES
CREATE TABLE STUDENT_AND_CLASSES(
STD_ID Number NOT NULL,
CLSS_NUM Number(38,0) NOT NULL
)
/
-- Add keys for table STUDENT_AND_CLASSES
ALTER TABLE STUDENT_AND_CLASSES ADD CONSTRAINT Key4 PRIMARY KEY (STD_ID,CLSS_NUM)
/
insert into students(std_id,std_name) values (1,'abk');
insert into students(std_id,std_name) values (63,'saad');
insert into classes(class_num,class_name) values (3,'abk');
insert into classes(class_num,class_name) values (2,'osm');
insert into classes(class_num,class_name) values (1,'amr');
insert into student_and_classes values(1,1)
insert into student_and_classes values(2,63)
I have written a query :-
SELECT STD_NAME ,CLASS_NAME FROM STUDENTS S , CLASSES C
WHERE
STD_ID IN
(SELECT STD_ID FROM STUDENT_AND_CLASSES)
AND
CLSS_NUM IN
(SELECT CLSS_NUM FROM STUDENT_AND_CLASSES)
STD_NAME CLASS_NAME
------------------------- ----------
abk amr
saad amr
abk OSM
saad OSM
I expected the query gives me student_name
in what class name and didn't expect to get frequency in output