📑 1. 문제설명💡 2. 접근방식이 문제 핵심은 조건에 따라서 STATUS 라는 컬럼에 다른 결과값을 보여주는 것이다자바에서 조건문으로 IF나 CASE문 쓰는 것처럼 MySQL 에서는 SELECT 절에 CASE 문을 써 줄 수 있다.CASE WHEN 컬럼명 = '조건' THEN '결과값' 해 주면 조건에 따라 다른 결과가 도출된다.그리고 CASE 문을 끝낼 때는 END AS 별칭을 사용한다 만약에 나열한 조건에 해당하지 않는 경우의 기본 값을 주고 싶다면 WHEN 대신 ELSE 절에 기본값을 세팅해 주면 된다. ⭐ 3. 정답코드계속 틀려서 출력은 잘 되는데 왜 틀리나 했더니 MySQL 에서 기본값은 오름차순이었다처음에 내림차순이 기본값이라 생각하고 생략했음ORDER BY BOARD_ID;만 썼더니 계..
My Tech Blog (MySQL)
📑 1. 문제설명💡 2. 접근방식WHERE절이랑 HAVING 절 쓰임이 너무너무 헷갈린다. 왜 HAVING을 사용하는가? 이 문제에서는 평균 대여 기간(AVG)을 계산한 후 해당 값이 7 이상인 그룹만 필터링해야 한다.평균을 계산하려면 먼저 CAR_ID 별로 그룹화를 해야한다.이후에 조건을 적용할 수 있는 절이 바로 HAVING이다.즉, WHERE 절로는 그룹화 이후의 집계 결과를 필터링할 수 없기 때문에 반드시 HAVING을 사용해야 한다. 언제 WHERE절을 써야 하고, 언제 HAVING 절을 써야 하는지 정말 헷갈린다.이건 SQL 쿼리문 실행 순서와 관련이 있다.FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BYHAVING은 GROUP BY 이후 실행..
글목록과 페이지네이션(Pagination)게시물을 DB에서 불러와 화면에 표시하려면 게시글 목록을 가져오는 작업과 페이징 처리 두 가지를 고려해야 한다. 게시글 데이터를 한 번에 불러오기 위해 ArrayList를 사용하여 DB에서 작성자, 제목 등 게시글의 주요 정보를 포함한 데이터를 가져온다. 이 때 중요한 점은 페이징 처리이다. 페이징 처리는 한 페이지에 몇 개의 게시글을 보여줄지 결정하는 과정이며, 예를 들어 한 페이지에 총 10개의 게시글을 가져오도록 설정할 수 있다. 그래서 오늘은 `BbsDAO`에 특정 페이지 번호(pageNumber)에 해당하는 게시글 목록을 반환하는 메서드 ⚡ `getList(int pageNumber)`를 만들어 볼 것이다. 그리고 페이징 처리에서 페이지 번호를 기준으..
1. write.jsp 글쓰기 페이지 만들기 먼저 게시글 작성 페이지 `write.jsp`를 만들어 주려고 한다.`bbs.jsp`를 복사해서 붙여 넣고 중간 부분만 수정 해 줄 것이다. nav바 아래 부분에 이렇게 코드를 작성Bootstrap5 이용했다. ⚡ `mt-5` margin-top: 5rem; ⚡ ``태그에 `required` 속성 넣으면 브라우저에서 유효성 검사를 함. 텍스트를 입력 안 한 채로 submit 하면 `이 입력란을 작성하세요.` 라는 경고 메세지를 띄운다. ⚡ `form-control` 클래스 Bootstrap에서 제공하는 클래스 중 하나로, 입력 필드의 스타일을 쉽게 일관성 있게 적용하기 위해 사용됨.이거 쓰면 입력 필드(input, textarea, select 등)가 기본..
DB 위주로 할거라 화면은 부트스트랩으로하고 있어요. 데이터 넘어가는 것만 볼 거라서 화면 디자인은 신경 못 쓰고 있습니다!! 이쁘게 만들고 싶은 사람은 HTML/CSS 신경쓰면서 하셔도 좋습니다. 전 바빠서 디자인은 버렸지만, 여러분들은 이쁘게 만드시라고 간단한 회원가입/게시판 만들기 실습해 보실만한 무료 템플릿 사이트 가져왔습니다. 제가 추천하는 템플릿은 Forty입니다. Forty에서 회원가입/로그인/게시판 등 실습하시기 좋아요. https://html5up.net/ HTML5 UPResponsive HTML5 and CSS3 site templates designed by @ajlkn and released under the Creative Commons license.html5up.net ..
Java Reousrces > user 에 UserDAO 클래스 생성하고, JDBC 연동을 해 줄 것이다.DAO(Data Access Object) 클래스는 데이터베이스와 애플리케이션 간의 상호작용을 담당하는 객체. 주로 데이터베이스에 대한 CRUD(Create, Read, Update, Delete) 작업을 캡슐화하고, 데이터베이스 관련 코드를 분리하여 애플리케이션의 유지보수성을 높이는 데 사용됨. 1. MySQL 접속하기 먼저 데이터베이스 작업을 수행하기 위해 사용되는 주요 객체들 `Connection conn`, `PreparedStatement`, `ResultSet` 를 선언 해 주자. package user;public class UserDAO { // MySQL 접속하기..
⚠️ 문제MySQL Command Line 에서 비밀번호 입력하면 튕기는 현상MySQL WorkBench 접속해 보니 에러 뜸 ❌ Could not acquire management access for a dministraion. Rutime Error: Unable to execute command chcp. Please make suere that the C:\Windows\System32 directory is in your PATH enviroment variable. Error unhandled exception: Current profile has no WMI enabled Check the log for more details. 두 오류 같이 뜬다.아래 해결법대로 하니까 한 번에 해결..
⚠️문제mySQL bin 을 환경변수에 등록 해 주었는데도 cmd에서 mysql 실행 안 되는 문제 오류내용cmd(명령 프롬프트)에서 mysql -u root -p 했는데 'mysql'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 🧐 원인원인 환경변수 설정 경로가 잘못됨C:\JSP\mysql-9.1.0-winx64\bin로 잘못 설정했기 때문 💡 해결법Program Files 아래 있는 MySQL Server로 설정 해 주어야 한다.C:\Program Files\MySQL\MySQL Server 8.0\bin로 바 꿔주니까 됐다. C:\JSP\mysql-9.1.0-winx64\bin와 C:\Program Files\MySQL\MySQL Server 8.0\b..