안녕하세요. 현재 SQLD시험 공부를 하다가 의문점이 생겨 질문을 남깁니다. 강사님께서는 JOIN문에서 SELECT e.emp_id, e.emp_name, d.dept_name, e.phone FROM employee AS e JOIN department AS d ON e.dept_id = d.dept_id; 라고 코드를 작성해주셨는데 SQLD책에는 SELECT employee.emp_id, employee.emp_name department.dept_name, employee.phone FROM employee, department WHERE employee.dept_id = department.dept_id; 형식이라고 나와 있습니다. WHERE은 '조건'으로 배웠는데, JOIN문 사용하지 않고, 책에 나오듯이 WHERE만으로 JOIN을 해도 문제가 없나요?
잘 작동하다가 갑자기 대부분의 commit에서 database is lock 문구가 뜨면서 작동하지 않습니다. .db 파일은 총 4개이며, 이 중 3개의 db가 UPDATE 구문 실행 후 commit 하는 과정에서 database is lock 문구가 출력 됩니다 수정하지도 않았는데 잘 작동하다가 갑자기 이러네요 왜 이러는지 아시는분?
강의 목적 💡 이 강의를 통해서 얻고 싶은 3가지는? 여러 테이블이 존재하는 상황에서 불편하지 않게 데이터를 추출할 수 있다. 실제 데이터 추출에서 이런 SQL 쿼리를 쓰면 되겠다라고 판단이 들고 싶다. 실제 프로젝트에서 이제 어떻게 쿼리문을 작성하면 되겠다라고 판단이 들고 싶다. 💡 그걸 위해 내가 할 노력은? 생각의 흐름을 먼저 정리하고 → 쿼리 문으로 옮기기 47문제 중에서 상,중,하로 판단하여 어려웠던 쿼리 문만 모아서 2회독 하기 47문제 중에서 자주 쓰이고 필요한 SQL 치트 시트 표 만들기 💡 수강한 이후 내가 생각하는 나의 변화는? 2회독을 하여, 여러 테이블이 존재하는 상황에서 어떻게 쿼리문을 작성할 수 있는 능력이 되었으면 좋겠습니다. (chat gpt없이)
안녕하세요 강사님! 강의를 방학 기간에 신청해두고 다른 것들을 먼저 하느라 여력이 없었는데, 뒤늦게 돌아보니 수강 기한이 얼마 안 남았네요.. 혹시 가능하다면 일주일 정도라도 수강기한 연장 부탁드려도 될까요..? 확인하시면 답신 부탁드립니다 ㅠㅜ ('전체 질문' 설정창이 따로 안 보여서 부득이 '수업 질문'으로 올리게 되었습니다,,!)
스프2탄에이어 스프링부트 프로젝트 강의를 작년부터 개강한다고 말씀하셨지만 아직 개강이안되서 여쭈어봅니다. 갠적으로 기대를 많이하고있는 강의라 빨리만나봤으면 하는바램이에요;;;;;; next.js같은 다양한 기능구현 프로젝트 강의들은 즐비한데 유독 스프링부트를 이용한 다양한 기능구현 프로젝트 강의는 없더라구요 그래서 마프1탄이 굉장히 기대하고있습니다. 언제쯤 개강될지 알려주실수있는지요?
안녕하세요, 비상관 서브쿼리 강의에서 아래 where 절의 여러 컬럼에 대해 문의드립니다. dept 테이블에는 loc 컬럼이 없고, 'DALLAS' 또한 새로 생성된 컬럼으로 보이는데 이것이 어떻게 매핑되어 dept가 '20'만 남는 건지 궁금합니다. select * from hr . dept where ( deptno , loc ) in ( select deptno , 'DALLAS' from hr . emp where sal < 1300 )
함수 개념과 기능이 상이하여 질문드립니다. ELT() 함수는 나열된 값 중에서 지정한 위치의 값을 반환하는 함수 이고, FIELD() 함수는 나열된 값 중에서 지정한 값이 있는 위치를 반환하는 함수 라고 배웠습니다. 그런데 ELT()함수 기능 자체에는 지정한 위치의 값을 반환하는 것이지, 값을 변경하는 함수가 아닌데 ELT(NTILE(3) OVER(ORDER BY salary DESC), '상', '중', '하') AS grp 해당 코드를 통해 1은 '상', 2는 '중', 3은 '하'로 변경됩니다. (NTILE(3) OVER(ORDER BY salary DESC), '상', '중', '하'로 인해 이름이 바뀌는 것이라고 해도, ELT자체는 특정 위치의 값을 호출하는 함수인데, 지정 위치 숫자도 없고, 어떻게 이런 결과가 가능한지 이해가 안 갑니다!) 또한 FIELD()함수 기능 자체에는 위치를 반환하는 것이지, 호출 순서를 나열하는 것이 아닌데, ORDER BY FIELD(dept_id, 'MKT', 'HRD', 'SYS') 해당 코드를 통해 'MKT', 'HRD', 'SYS' 순서로 데이터가 호출됩니다. (ORDER BY에 의해 순서가 정렬되는 것이라고 해도, FIELD자체는 위치를 호출하는 함수인데, 어떻게 이런 결과가 가능한지 이해가 안 갑니다!) ELT()와 FIELD()함수 자체는 각각 위치의 값을 반환하는 기능, 위치를 반환하는 기능이 있으나, ELT()는 값을 변경할 수 있고, FIELD는 호출 순서를 지정할 수 있는 기능이 있다고 추가적으로 이해하면 되는 걸까요??
SQL 쿼리의 데이터 처리 순서가 쿼리문 순서대로 진행된다고 이해하고 있었는데 GROUP BY 가 등장하면서 너무 헷갈리네요.. ( GROUP BY 를 하지 않은 SQL 쿼리문) SELECT id , SUM(CASE WHEN month = 'Jan' THEN revenue ELSE NULL END) as Jan_Revenue , SUM(CASE WHEN month = 'Feb' THEN revenue ELSE NULL END) as Feb_Revenue , ... FROM department; 위 SQL 을 실행해보면 row 가 하나밖에 없는 출력이 나오더라구요 (ID 가 1인) | id | Jan_Revenue | Feb_Revenue | Mar_Revenue | Apr_Revenue | May_Revenue | Jun_Revenue | Jul_Revenue | Aug_Revenue | Sep_Revenue | Oct_Revenue | Nov_Revenue | Dec_Revenue | | -- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | | 1 | 17000 | 17000 | 6000 | null | null | null | null | null | null | null | null | null | 그런데 데이터 처리 순서상 해당 출력문으로 가지고 GROUP BY id 를 했을때 어떻게 id 가 1, 2, 3 모두 출력될 수 있는지 궁금합니다