use haksa;
-- 야간인 학생들의 학번과 이름을 출력하라
select * from student;
select stu_no, stu_name
from student
where juya='야';
-- 휴대폰을 가지고 있는 학생의 학번과 이름 휴대폰 번호를 출력하라
select stu_name, stu_no, phone_no
from student
where phone_no is not null;
-- 1985년 이후에 출생한 여학생의 학번, 이름, 주민등록번호를 출력하라
select stu_no, stu_name,id_num
from student
where substring(id_num,8,1)=2
and birth_year >1985;
-- 휴대폰 번호가 016,018,019로 시작하는 휴대폰을 소지한 학생의 학번과 이름, 휴대폰 번호를 나타내어라
select * from student;
select stu_name, stu_no, phone_no
from student
where phone_no is not null
and substring(phone_no,1,3)='016'
or substring(phone_no,1,3)='018'
or substring(phone_no,1,3)='019';
-- 성별이 남자가 아닌 학생의 학번 , 이름을 나타내어라
select * from student;
select stu_name, stu_no
from student
where substring(id_num,8,1) <>1;
select stu_name, stu_no
from student
where not substring(id_num,8,1) = 1;
-- 성별이 남자이거나 1988년에 출생한 학생의 학번, 이름, 주민등록번호를 나타내어라. 그러나 1988년도에 출생한 남자는 제외다.
select stu_no, stu_name,id_num
from student
where (substring(id_num,8,1) = 1 or birth_year = 1988)
and not (substring(id_num,8,1) =1 and birth_year = 1988);
-- 81년 부터 87년 사이에 출생한 각 학생의 학번과 이름, 출생년도를 출력하라
select stu_no, stu_name, birth_year
from student
where birth_year between 1981 and 1987;
-- 우편번호가 135-794,150--051, 550-260 에 해당되는 각 학생의 학번, 이름, 현주소의 우편번호를 출력하라
select * from student;
select stu_no, stu_name,post_no
from student
where post_no = '135-794'
or post_no = '150-051'
or post_no = '550-260'
;
select stu_no, stu_name,post_no
from student
where post_no in ('135-794','150-051','550-260');
-- 영문이름이 문자 p 로 시작하는 학생의 학번과 이름, 영문이름을 나타내어라
select stu_no,stu_name,stu_ename
from student
where stu_ename like 'p%'
;
-- 영문 이름의 끝에 문자 g를 가지고 있는 학생의 학번과 이름을 나타내어라
select stu_no,stu_name,stu_ename
from student
where stu_ename like '%g'
;
-- 영문이름의 끝에서 두번째 문자가 u 인 학생의 학번과 이름을 나타내어라
select stu_no,stu_name,stu_ename
from student
where stu_ename like '%u_'
;
-- 영문이름이 문자 k로 시작하지 않는 학생의 학번과 이름을 나타내어라
select stu_no,stu_name,stu_ename
from student
where not stu_ename like 'k%'
;
-- 휴대폰을 가지고 있지 않은 학생의 학번과 이름, 휴대폰 번호가 null인 경우에는 휴대폰 없음을 나타내어라
select stu_no,stu_name,ifnull(phone_no,'휴대폰 없음')
from student
where phone_no is null;
-- 학생의 휴대폰번호가 017이 아닌 모든 학생의 학번과 이름, 휴대폰번호를 출력하라
-- (단, 휴대폰이 없는 학생도 포함되어 출력되어야 한다.)
select stu_no,stu_name,phone_no
from student
where substring(phone_no,1,3) <> 017
or phone_no is null ;
-- 등록을 한 각 학생의 학번, 이름을 출력하라 (in 연산자 활용)
select DISTINCT s.stu_no,s.stu_name
from student s , fee f
where s.stu_no = f.stu_no;
-- 부속질의어를 이용하여 등록을 한 각 학생의 학번 이름을 출력하라
select DISTINCT s.stu_no,s.stu_name
from student s
where s.stu_no in(select stu_no from fee)
;
-- 적어도 한번의 장학금을 받았던 학생의 학번과 이름을 출력하라
select stu_no, stu_name from student
where stu_no in
(select stu_no from fee where jang_code is not null)
;
-- 20061011 인 학생이 가입한 동아리를 제외한 다른 동아리에 적어도 한번 가입을 한 학생의 학번과 이름을 출력하라
select stu_no,stu_name from circle
where cir_name not in (select cir_name from circle where stu_no='20061011')
;
-- 휴대폰을 가지고 있는 학생을 출력하라 (단 휴대폰이 있어도 야간인 학생은 제외 한다.)
select * from student;
select stu_no,stu_name
from student
where phone_no is not null
and juya = '주';
select stu_no,stu_name
from student
where phone_no not in(
select phone_no
from student
where juya ='야'
);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | use haksa; -- 야간인 학생들의 학번과 이름을 출력하라 select * from student; select stu_no, stu_name from student where juya='야'; -- 휴대폰을 가지고 있는 학생의 학번과 이름 휴대폰 번호를 출력하라 select stu_name, stu_no, phone_no from student where phone_no is not null; -- 1985년 이후에 출생한 여학생의 학번, 이름, 주민등록번호를 출력하라 select stu_no, stu_name,id_num from student where substring(id_num,8,1)=2 and birth_year >1985; -- 휴대폰 번호가 016,018,019로 시작하는 휴대폰을 소지한 학생의 학번과 이름, 휴대폰 번호를 나타내어라 select * from student; select stu_name, stu_no, phone_no from student where phone_no is not null and substring(phone_no,1,3)='016' or substring(phone_no,1,3)='018' or substring(phone_no,1,3)='019'; -- 성별이 남자가 아닌 학생의 학번 , 이름을 나타내어라 select * from student; select stu_name, stu_no from student where substring(id_num,8,1) <>1; select stu_name, stu_no from student where not substring(id_num,8,1) = 1; -- 성별이 남자이거나 1988년에 출생한 학생의 학번, 이름, 주민등록번호를 나타내어라. 그러나 1988년도에 출생한 남자는 제외다. select stu_no, stu_name,id_num from student where (substring(id_num,8,1) = 1 or birth_year = 1988) and not (substring(id_num,8,1) =1 and birth_year = 1988); -- 81년 부터 87년 사이에 출생한 각 학생의 학번과 이름, 출생년도를 출력하라 select stu_no, stu_name, birth_year from student where birth_year between 1981 and 1987; -- 우편번호가 135-794,150--051, 550-260 에 해당되는 각 학생의 학번, 이름, 현주소의 우편번호를 출력하라 select * from student; select stu_no, stu_name,post_no from student where post_no = '135-794' or post_no = '150-051' or post_no = '550-260' ; select stu_no, stu_name,post_no from student where post_no in ('135-794','150-051','550-260'); -- 영문이름이 문자 p 로 시작하는 학생의 학번과 이름, 영문이름을 나타내어라 select stu_no,stu_name,stu_ename from student where stu_ename like 'p%' ; -- 영문 이름의 끝에 문자 g를 가지고 있는 학생의 학번과 이름을 나타내어라 select stu_no,stu_name,stu_ename from student where stu_ename like '%g' ; -- 영문이름의 끝에서 두번째 문자가 u 인 학생의 학번과 이름을 나타내어라 select stu_no,stu_name,stu_ename from student where stu_ename like '%u_' ; -- 영문이름이 문자 k로 시작하지 않는 학생의 학번과 이름을 나타내어라 select stu_no,stu_name,stu_ename from student where not stu_ename like 'k%' ; -- 휴대폰을 가지고 있지 않은 학생의 학번과 이름, 휴대폰 번호가 null인 경우에는 휴대폰 없음을 나타내어라 select stu_no,stu_name,ifnull(phone_no,'휴대폰 없음') from student where phone_no is null; -- 학생의 휴대폰번호가 017이 아닌 모든 학생의 학번과 이름, 휴대폰번호를 출력하라 -- (단, 휴대폰이 없는 학생도 포함되어 출력되어야 한다.) select stu_no,stu_name,phone_no from student where substring(phone_no,1,3) <> 017 or phone_no is null ; -- 등록을 한 각 학생의 학번, 이름을 출력하라 (in 연산자 활용) select DISTINCT s.stu_no,s.stu_name from student s , fee f where s.stu_no = f.stu_no; -- 부속질의어를 이용하여 등록을 한 각 학생의 학번 이름을 출력하라 select DISTINCT s.stu_no,s.stu_name from student s where s.stu_no in(select stu_no from fee) ; -- 적어도 한번의 장학금을 받았던 학생의 학번과 이름을 출력하라 select stu_no, stu_name from student where stu_no in (select stu_no from fee where jang_code is not null) ; -- 20061011 인 학생이 가입한 동아리를 제외한 다른 동아리에 적어도 한번 가입을 한 학생의 학번과 이름을 출력하라 select stu_no,stu_name from circle where cir_name not in (select cir_name from circle where stu_no='20061011') ; -- 휴대폰을 가지고 있는 학생을 출력하라 (단 휴대폰이 있어도 야간인 학생은 제외 한다.) select * from student; select stu_no,stu_name from student where phone_no is not null and juya = '주'; select stu_no,stu_name from student where phone_no not in( select phone_no from student where juya ='야' ); | cs |
'데이터 베이스 > MySQL' 카테고리의 다른 글
MYSQL 통계 함수 SUM AVG MAX MIN 예제 문제 5 (3) | 2016.12.07 |
---|---|
MYSQL any&all&in&예제& WHERE 절 문제4 (2) | 2016.12.06 |
MYSQL 기초문법&예제&문제 2 (2) | 2016.12.02 |
MYSQL 기초문법&예제&문제 1 (3) | 2016.12.02 |
MYSQL FULLTEXT INDEX & PARTION 검색기능향상&파티션 (4) | 2016.11.30 |
댓글