[클래식 MySQL 면접문제2 공유!]
19914 단어 데이터베이스
테스트 데이터
--
--
CREATE TABLE `Student`(
`s_id` VARCHAR(20),
`s_name` VARCHAR(20) NOT NULL DEFAULT '',
`s_birth` VARCHAR(20) NOT NULL DEFAULT '',
`s_sex` VARCHAR(10) NOT NULL DEFAULT '',
PRIMARY KEY(`s_id`)
);
--
CREATE TABLE `Course`(
`c_id` VARCHAR(20),
`c_name` VARCHAR(20) NOT NULL DEFAULT '',
`t_id` VARCHAR(20) NOT NULL,
PRIMARY KEY(`c_id`)
);
--
CREATE TABLE `Teacher`(
`t_id` VARCHAR(20),
`t_name` VARCHAR(20) NOT NULL DEFAULT '',
PRIMARY KEY(`t_id`)
);
--
CREATE TABLE `Score`(
`s_id` VARCHAR(20),
`c_id` VARCHAR(20),
`s_score` INT(3),
PRIMARY KEY(`s_id`,`c_id`)
);
--
insert into Student values('01' , ' ' , '1990-01-01' , ' ');
insert into Student values('02' , ' ' , '1990-12-21' , ' ');
insert into Student values('03' , ' ' , '1990-05-20' , ' ');
insert into Student values('04' , ' ' , '1990-08-06' , ' ');
insert into Student values('05' , ' ' , '1991-12-01' , ' ');
insert into Student values('06' , ' ' , '1992-03-01' , ' ');
insert into Student values('07' , ' ' , '1989-07-01' , ' ');
insert into Student values('08' , ' ' , '1990-01-20' , ' ');
--
insert into Course values('01' , ' ' , '02');
insert into Course values('02' , ' ' , '01');
insert into Course values('03' , ' ' , '03');
--
insert into Teacher values('01' , ' ');
insert into Teacher values('02' , ' ');
insert into Teacher values('03' , ' ');
--
insert into Score values('01' , '01' , 80);
insert into Score values('01' , '02' , 90);
insert into Score values('01' , '03' , 99);
insert into Score values('02' , '01' , 70);
insert into Score values('02' , '02' , 60);
insert into Score values('02' , '03' , 80);
insert into Score values('03' , '01' , 80);
insert into Score values('03' , '02' , 80);
insert into Score values('03' , '03' , 80);
insert into Score values('04' , '01' , 50);
insert into Score values('04' , '02' , 30);
insert into Score values('04' , '03' , 20);
insert into Score values('05' , '01' , 76);
insert into Score values('05' , '02' , 87);
insert into Score values('06' , '01' , 31);
insert into Score values('06' , '03' , 34);
insert into Score values('07' , '02' , 89);
insert into Score values('07' , '03' , 98);
-- [1.'01'과정이'02'과정보다 성적이 높은 학생의 정보 및 과정 점수를 조회한다]
SELECT a.* ,b.s_score AS 01_score,c.s_score AS 02_score FROM student a
JOIN score b ON a.s_id=b.s_id AND b.c_id='01'
LEFT JOIN score c ON a.s_id=c.s_id AND c.c_id='02' OR c.c_id = NULL WHERE b.s_score>c.s_score;
-- [2.'01'과정이'02'과정보다 성적이 낮은 학생의 정보 및 과정 점수 조회]
SELECT a.* ,b.s_score AS 01_score,c.s_score AS 02_score FROM
student a LEFT JOIN score b ON a.s_id=b.s_id AND b.c_id='01' OR b.c_id=NULL
JOIN score c ON a.s_id=c.s_id AND c.c_id='02' WHERE b.s_score
-- [3. 평균 성적이 60점 이상인 학생의 학생 번호와 학생 이름과 평균 성적을 조회한다]
SELECT b.s_id,b.s_name,ROUND(AVG(a.s_score),2) AS avg_score FROM student b
JOIN score a ON b.s_id = a.s_id
GROUP BY b.s_id,b.s_name HAVING ROUND(AVG(a.s_score),2)>=60;
-- [4. 평균 성적이 60점 미만인 학우의 학생 번호와 학생 이름과 평균 성적(성적이 있는 학생과 성적이 없는 학생 포함) 조회
SELECT b.s_id,b.s_name,ROUND(AVG(a.s_score),2) AS avg_score FROM student b
LEFT JOIN score a ON b.s_id = a.s_id
GROUP BY b.s_id,b.s_name HAVING ROUND(AVG(a.s_score),2)<60
UNION
SELECT a.s_id,a.s_name,0 AS avg_score FROM student a
WHERE a.s_id NOT IN (SELECT DISTINCT s_id FROM score);
-- [5. 모든 학우의 학생 번호, 학생 이름, 수강신청 총수, 모든 과정의 총성적 조회]
SELECT a.s_id,a.s_name,COUNT(b.c_id) AS sum_course,SUM(b.s_score) AS sum_score FROM
student a LEFT JOIN score b ON a.s_id=b.s_id GROUP BY a.s_id,a.s_name;
-- [6,'이'성 선생님의 수량 조회]
SELECT COUNT(t_id) FROM teacher WHERE t_name LIKE ' %';
-- [7,'장삼'선생님의 수업을 배운 학우의 정보를 조회한다]
SELECT a.* FROM student a
JOIN score b ON a.s_id=b.s_id WHERE b.c_id IN(
SELECT c_id FROM course WHERE t_id =(
SELECT t_id FROM teacher WHERE t_name = ' '));
-- [8,'장삼'선생님의 강의를 배우지 않은 친구들의 정보를 조회한다]
SELECT * FROM student c
WHERE c.s_id NOT IN(
SELECT a.s_id FROM student a JOIN score b ON a.s_id=b.s_id WHERE b.c_id IN(
SELECT c_id FROM course WHERE t_id =(
SELECT t_id FROM teacher WHERE t_name = ' ')));
-- [9. 번호'01'을 배웠고 번호'02'를 배운 학우의 정보]
SELECT a.* FROM student a,score b,score c
WHERE a.s_id = b.s_id AND a.s_id = c.s_id AND b.c_id='01' AND c.c_id='02';
-- [10. 번호'01'을 배웠지만 번호'02'를 배운 학우의 정보를 조회한다]
SELECT a.* FROM student a
WHERE a.s_id IN (SELECT s_id FROM score WHERE c_id='01' ) AND a.s_id NOT IN(SELECT s_id FROM score WHERE c_id='02');
-- [11. 모든 과정을 다 배우지 못한 학우의 정보를 조회한다]
SELECT s.* FROM student s WHERE s.s_id IN(
SELECT s_id FROM score WHERE s_id NOT IN(SELECT a.s_id FROM score a
JOIN score b ON a.s_id = b.s_id AND b.c_id='02'
JOIN score c ON a.s_id = c.s_id AND c.c_id='03' WHERE a.c_id='01'));
-- [12. 학번이'01'인 학우와 같은 학우의 정보를 조회한다]
SELECT * FROM student WHERE s_id IN(
SELECT DISTINCT a.s_id FROM score a WHERE a.c_id IN(SELECT a.c_id FROM score a WHERE a.s_id='01'));
-- [13. 01호 학우들이 공부하는 과정이 똑같은 다른 학우들의 정보를 조회한다]
SELECT a.* FROM student a WHERE a.s_id IN(
SELECT DISTINCT s_id FROM score WHERE s_id!='01' AND c_id IN(SELECT c_id FROM score WHERE s_id='01') GROUP BY s_id HAVING COUNT(1)=(SELECT COUNT(1) FROM score WHERE s_id='01'));
-- [14.'장삼'선생님이 강의한 과목을 배우지 않은 학생의 이름을 조회한다]
SELECT a.s_name FROM student a WHERE a.s_id NOT IN (
SELECT s_id FROM score WHERE c_id =
(SELECT c_id FROM course WHERE t_id =(
SELECT t_id FROM teacher WHERE t_name = ' ')) GROUP BY s_id);
- [15. 두 과목과 그 이상의 불합격 과정을 조회한 학우의 학번, 성명과 평균 성적]
SELECT a.s_id,a.s_name,ROUND(AVG(b.s_score)) FROM student a
LEFT JOIN score b ON a.s_id = b.s_id
WHERE a.s_id IN(
SELECT s_id FROM score WHERE s_score<60 GROUP BY s_id HAVING COUNT(1)>=2)
GROUP BY a.s_id,a.s_name;
-- [16.'01'과정의 점수가 60보다 적고 점수 내림차순으로 배열된 학생 정보를 검색한다]
SELECT a.*,b.c_id,b.s_score FROM student a,score b
WHERE a.s_id = b.s_id AND b.c_id='01' AND b.s_score<60 ORDER BY b.s_score DESC;
- [17. 모든 학생의 모든 과정의 성적과 평균 성적을 평균적으로 높게부터 낮게까지 표시한다]
SELECT a.s_id,(SELECT s_score FROM score WHERE s_id=a.s_id AND c_id='01') AS ,
(SELECT s_score FROM score WHERE s_id=a.s_id AND c_id='02') AS ,
(SELECT s_score FROM score WHERE s_id=a.s_id AND c_id='03') AS ,
ROUND(AVG(s_score),2) AS FROM score a GROUP BY a.s_id ORDER BY DESC;
- 【18. 각 과목의 성적 최고 점수, 최저 점수와 평균 점수를 조회한다. 다음과 같은 형식으로 과정 ID, 과정name, 최고 점수, 최저 점수, 평균 점수, 합격률, 중등률, 우수율, 합격률 >=60, 중등: 70-80, 우수: 80-90, 우수: >=90】
SELECT a.c_id,b.c_name,MAX(s_score),MIN(s_score),ROUND(AVG(s_score),2),
ROUND(100*(SUM(CASE WHEN a.s_score>=60 THEN 1 ELSE 0 END)/SUM(CASE WHEN a.s_score THEN 1 ELSE 0 END)),2) AS ,
ROUND(100*(SUM(CASE WHEN a.s_score>=70 AND a.s_score<=80 THEN 1 ELSE 0 END)/SUM(CASE WHEN a.s_score THEN 1 ELSE 0 END)),2) AS ,
ROUND(100*(SUM(CASE WHEN a.s_score>=80 AND a.s_score<=90 THEN 1 ELSE 0 END)/SUM(CASE WHEN a.s_score THEN 1 ELSE 0 END)),2) AS ,
ROUND(100*(SUM(CASE WHEN a.s_score>=90 THEN 1 ELSE 0 END)/SUM(CASE WHEN a.s_score THEN 1 ELSE 0 END)),2) AS
FROM score a LEFT JOIN course b ON a.c_id = b.c_id GROUP BY a.c_id,b.c_name;
-- [19, 과목별 성적순으로 순위를 매기고 표시(불완전 달성)]
SELECT a.s_id,a.c_id,
@i:=@i +1 AS i ,
@k:=(CASE WHEN @score=a.s_score THEN @k ELSE @i END) AS rank ,
@score:=a.s_score AS score
FROM (
SELECT s_id,c_id,s_score FROM score WHERE c_id='01' GROUP BY s_id,c_id,s_score ORDER BY s_score DESC
)a,(SELECT @k:=0,@i:=0,@score:=0)s
UNION
SELECT a.s_id,a.c_id,
@i:=@i +1 AS i,
@k:=(CASE WHEN @score=a.s_score THEN @k ELSE @i END) AS rank,
@score:=a.s_score AS score
FROM (
SELECT s_id,c_id,s_score FROM score WHERE c_id='02' GROUP BY s_id,c_id,s_score ORDER BY s_score DESC
)a,(SELECT @k:=0,@i:=0,@score:=0)s
UNION
SELECT a.s_id,a.c_id,
@i:=@i +1 AS i,
@k:=(CASE WHEN @score=a.s_score THEN @k ELSE @i END) AS rank,
@score:=a.s_score AS score
FROM (
SELECT s_id,c_id,s_score FROM score WHERE c_id='03' GROUP BY s_id,c_id,s_score ORDER BY s_score DESC
)a,(SELECT @k:=0,@i:=0,@score:=0)s;
참고:
변수 i를 정의하여 추가할 때마다 결과는 +1, @i:=@i+1입니다.
mysql에서 사용자 변수를 정의하는 방법: select @ 변수 이름
사용자 변수에 값을 지정하려면 다음과 같이 하십시오.
1.= 기호를 사용합니다.
2.:= 기호를 사용합니다.
차이점:
set 명령을 사용하여 사용자 변수에 값을 부여할 때 두 가지 방식을 모두 사용할 수 있다.
select 문장을 사용하여 사용자 변수에 값을 부여할 때 ': =' 방식만 사용할 수 있습니다. 왜냐하면 select 문장에서 '=' 번호는 비교 조작부호로 간주되기 때문입니다.
(@i:=@i+1)도 @i:=@i+1으로 쓸 수 있으며, 괄호를 넣는 것은 시각적으로 이 구조를 더욱 명확하게 보기 위해서이다.
마지막 행(SELECT @i:=0) as i:
하나의 변수를 정의한 후에 매번 조회할 때마다 이 변수에 자증합니다. 우리는 매번 조회문을 실행하여 결과를 얻으면 이 변수가 자증할 필요가 없습니다. 따라서 0으로 리셋하고, 표 이름 뒤에 쉼표로 구분해서 사용하십시오. (SELECT @i:=0)asi는 이 asi를 왜 이렇게 사용하는지 설명하십시오. 파생표에 별명이 필요하기 때문입니다.이것은 바로 그것의 별명을 만드는 것이다. 임의의 문자가 될 수 있다
-- (20. 학생의 총 성적을 조회하고 순위를 매긴다)
SELECT a.s_id,
@i:=@i+1 AS i,
@k:=(CASE WHEN @score=a.sum_score THEN @k ELSE @i END) AS rank,
@score:=a.sum_score AS score
FROM (SELECT s_id,SUM(s_score) AS sum_score FROM score GROUP BY s_id ORDER BY sum_score DESC)a,
(SELECT @k:=0,@i:=0,@score:=0)s;
-- [21. 서로 다른 선생님이 가르친 과목의 평균 점수를 조회하면 높은 것부터 낮은 것까지 나타난다]
SELECT a.t_id,c.t_name,a.c_id,ROUND(AVG(s_score),2) AS avg_score FROM course a
LEFT JOIN score b ON a.c_id=b.c_id
LEFT JOIN teacher c ON a.t_id=c.t_id
GROUP BY a.c_id,a.t_id,c.t_name ORDER BY avg_score DESC;
-- [22. 모든 과정의 성적 2위부터 3위까지의 학생 정보 및 해당 과정의 성적 조회]
SELECT d.*,c. ,c.s_score,c.c_id FROM (
SELECT a.s_id,a.s_score,a.c_id,@i:=@i+1 AS FROM score a,(SELECT @i:=0)s WHERE a.c_id='01'
)c
LEFT JOIN student d ON c.s_id=d.s_id
WHERE BETWEEN 2 AND 3
UNION
SELECT d.*,c. ,c.s_score,c.c_id FROM (
SELECT a.s_id,a.s_score,a.c_id,@j:=@j+1 AS FROM score a,(SELECT @j:=0)s WHERE a.c_id='02'
)c
LEFT JOIN student d ON c.s_id=d.s_id
WHERE BETWEEN 2 AND 3
UNION
SELECT d.*,c. ,c.s_score,c.c_id FROM (
SELECT a.s_id,a.s_score,a.c_id,@k:=@k+1 AS FROM score a,(SELECT @k:=0)s WHERE a.c_id='03'
)c
LEFT JOIN student d ON c.s_id=d.s_id
WHERE BETWEEN 2 AND 3;
- [23. 각 과목의 성적 각 분수 단계의 인원을 통계: 과정 번호, 과정 명칭, [100-85], [85-70], [70-60], [0-60] 및 차지하는 비율]
SELECT DISTINCT f.c_name,a.c_id,b.`85-100`,b. ,c.`70-85`,c. ,d.`60-70`,d. ,e.`0-60`,e. FROM score a
LEFT JOIN (SELECT c_id,SUM(CASE WHEN s_score >85 AND s_score <=100 THEN 1 ELSE 0 END) AS `85-100`,
ROUND(100*(SUM(CASE WHEN s_score >85 AND s_score <=100 THEN 1 ELSE 0 END)/COUNT(*)),2) AS
FROM score GROUP BY c_id)b ON a.c_id=b.c_id
LEFT JOIN (SELECT c_id,SUM(CASE WHEN s_score >70 AND s_score <=85 THEN 1 ELSE 0 END) AS `70-85`,
ROUND(100*(SUM(CASE WHEN s_score >70 AND s_score <=85 THEN 1 ELSE 0 END)/COUNT(*)),2) AS
FROM score GROUP BY c_id)c ON a.c_id=c.c_id
LEFT JOIN (SELECT c_id,SUM(CASE WHEN s_score >60 AND s_score <=70 THEN 1 ELSE 0 END) AS `60-70`,
ROUND(100*(SUM(CASE WHEN s_score >60 AND s_score <=70 THEN 1 ELSE 0 END)/COUNT(*)),2) AS
FROM score GROUP BY c_id)d ON a.c_id=d.c_id
LEFT JOIN (SELECT c_id,SUM(CASE WHEN s_score >=0 AND s_score <=60 THEN 1 ELSE 0 END) AS `0-60`,
ROUND(100*(SUM(CASE WHEN s_score >=0 AND s_score <=60 THEN 1 ELSE 0 END)/COUNT(*)),2) AS
FROM score GROUP BY c_id)e ON a.c_id=e.c_id
LEFT JOIN course f ON a.c_id = f.c_id;
-- [24, 학생 평균 성적 및 순위 조회]
select a.s_id,
@i:=@i+1 as ' ',
@k:=(case when @avg_score=a.avg_s then @k else @i end) as ' ',
@avg_score:=avg_s as ' '
from (select s_id,ROUND(AVG(s_score),2) as avg_s from score GROUP BY s_id)a,(select @avg_score:=0,@i:=0,@k:=0)b;
-- [25, 과목별 성적 상위 3위 기록 조회] - 1.b표가 a표보다 성적이 큰 모든 조를 뽑아라--2.현재 id보다 성적이 큰 3개보다 작은
SELECT a.s_id,a.c_id,a.s_score FROM score a
LEFT JOIN score b ON a.c_id = b.c_id AND a.s_score
-- [26, 과목당 선택과목 학생 수 조회]
SELECT c_id,COUNT(s_id) FROM score a GROUP BY c_id;
-- [27, 두 과목만 있는 전체 학생의 학번과 이름을 조회한다]
SELECT s_id,s_name FROM student WHERE s_id IN(
SELECT s_id FROM score GROUP BY s_id HAVING COUNT(c_id)=2);
-- [28, 남학생, 여학생 수 조회]
SELECT s_sex,COUNT(s_sex) AS FROM student GROUP BY s_sex;
-- [29. 이름에'바람'자가 포함된 학생 정보 조회]
SELECT * FROM student WHERE s_name LIKE '% %';
-- [30, 동명 동성 학생 명단 조회 및 동명 인원 집계]
SELECT a.s_name,a.s_sex,COUNT(*) FROM student a JOIN
student b ON a.s_id !=b.s_id AND a.s_name = b.s_name AND a.s_sex = b.s_sex
GROUP BY a.s_name,a.s_sex;
-- [31, 1990년생 학생 명단 조회]
SELECT s_name FROM student WHERE s_birth LIKE '1990%';
- [32. 각 과정의 평균 성적을 조회한 결과 평균 성적에 따라 순서대로 배열하고 평균 성적은 동시에 과정 번호에 따라 순서대로 배열한다]
SELECT c_id,ROUND(AVG(s_score),2) AS avg_score FROM score GROUP BY c_id
ORDER BY avg_score DESC,c_id ASC;
-- [33, 조회 평균 성적이 85 이상인 모든 학생의 학번, 성명, 평균 성적]
SELECT a.s_id,b.s_name,ROUND(AVG(a.s_score),2) AS avg_score FROM score a
LEFT JOIN student b ON a.s_id=b.s_id GROUP BY s_id HAVING avg_score>=85;
- [34. 조회 과정의 이름은'수학'이고 점수가 60보다 낮은 학생의 이름과 점수]
방법1:
SELECT student.`s_name`,score.`s_score` FROM student JOIN score ON student.`s_id`=score.`s_id`
JOIN course ON course.`c_id`=score.`c_id` AND course.`c_name`=' ' AND score.`s_score`<60;
방법2:
SELECT a.s_name,b.s_score FROM score b LEFT JOIN student a ON a.s_id=b.s_id
WHERE b.c_id=(SELECT c_id FROM course WHERE c_name =' ') AND b.s_score<60;
- [35. 모든 학생의 수업 및 점수 상황을 조회한다.]
select a.s_id,a.s_name,
SUM(case c.c_name when ' ' then b.s_score else 0 end) as ' ',
SUM(case c.c_name when ' ' then b.s_score else 0 end) as ' ',
SUM(case c.c_name when ' ' then b.s_score else 0 end) as ' ',
SUM(b.s_score) as ' 'from student a left join score b on a.s_id = b.s_id
left join course c on b.c_id = c.c_id GROUP BY a.s_id,a.s_name;
-- [36. 어느 과목이든 성적이 70점 이상인 이름, 과목 명칭과 점수를 조회한다]
select a.s_name,b.c_name,c.s_score from course b left join score c
on b.c_id = c.c_id left join student a on a.s_id=c.s_id where c.s_score>=70;
-- [37, 불합격한 수업 조회]
select a.s_id,a.c_id,b.c_name,a.s_score from score a
left join course b on a.c_id = b.c_id where a.s_score<60;
- [38. 교과 과정 번호가 01이고 교과 과정 성적이 80점 이상인 학생의 학번과 이름을 조회한다.]
select a.s_id,b.s_name from score a LEFT JOIN student b on a.s_id = b.s_id
where a.c_id = '01' and a.s_score>80;
-- [39, 과목당 학생 수 구하기]
select count(*) from score GROUP BY c_id;
- [40.'장삼'선생님이 가르친 과정을 선택한 학생 중 성적이 가장 높은 학생 정보와 성적을 조회한다]
선생님
select c_id from course c,teacher d where c.t_id=d.t_id and d.t_name=' ';
조회 최고 점수, 동일 점수 가능
select MAX(s_score) from score where c_id='02';
정보 조회
select a.*,b.s_score,b.c_id,c.c_name from student a
LEFT JOIN score b on a.s_id = b.s_id LEFT JOIN course c on b.c_id=c.c_id
where b.c_id =(select c_id from course c,teacher d
where c.t_id=d.t_id and d.t_name=' ')
and b.s_score in (select MAX(s_score) from score where c_id='02');
- [41. 서로 다른 과정 성적이 같은 학생의 학생 번호, 과정 번호, 학생 성적 조회]
select DISTINCT b.s_id,b.c_id,b.s_score from score a,score b
where a.c_id != b.c_id and a.s_score = b.s_score;
-- [42, 문공당 성적이 가장 좋은 1, 2위 조회]
select a.s_id,a.c_id,a.s_score from score a where (
select COUNT(1) from score b where b.c_id=a.c_id
and b.s_score>=a.s_score)<=2 ORDER BY a.c_id
- [43. 각 과목의 학생 선택과목 수를 집계한다(5인 초과 과목은 집계한다). 과목 번호와 선택과목 수를 출력하고 조회 결과는 인원수에 따라 순서대로 배열한다. 인원수가 같으면 과목 번호에 따라 순서대로 배열한다.]
select c_id,count(*) as total from score GROUP BY c_id HAVING total>5 ORDER BY total,c_id ASC;
-- [44, 최소 두 과목을 이수한 학생 학번 검색]
select s_id,count(*) as sel from score GROUP BY s_id HAVING sel>=2;
-- [45, 전 과목을 선택과목으로 이수한 학생 정보 조회]
select * from student where s_id in(
select s_id from score GROUP BY s_id HAVING count(*)=(select count(*) from course));
-- [46. 각 학생의 나이를 조회하고 생년월일에 따라 계산하면 현재 월일 <생년월일의 월일은 연령이 1로 감소한다]
select s_birth,(DATE_FORMAT(NOW(),'%Y')-DATE_FORMAT(s_birth,'%Y') -
(case when DATE_FORMAT(NOW(),'%m%d')>DATE_FORMAT(s_birth,'%m%d') then 0 else 1 end)) as age
from student;
-- [47, 이번 주 생일인 학생 조회]
방법1:
select * from student where WEEK(DATE_FORMAT(NOW(),'%Y%m%d'))=WEEK(s_birth);
방법2:
select * from student where YEARWEEK(s_birth)=YEARWEEK(DATE_FORMAT(NOW(),'%Y%m%d'));
-- [48, 다음 주 생일인 학생 조회]
select * from student where WEEK(DATE_FORMAT(NOW(),'%Y%m%d'))+1 =WEEK(s_birth);
-- [49, 이번 달 생일인 학생 조회]
select * from student where MONTH(DATE_FORMAT(NOW(),'%Y%m%d')) =MONTH(s_birth) ;
-- [50, 다음 달 생일인 학생 조회]
select * from student where MONTH(DATE_FORMAT(NOW(),'%Y%m%d'))+1 =MONTH(s_birth) ;
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다. java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.