SQL 13

[c#] IEnumerable vs Queryable

IEnumerator : 열거자 클래스 내부의 컬렉션에 대해 반복할 수 있도록 도와줍니다. IEnumerable는 집합 데이터를 처리하는 데 나온 개념으로 코드 중심 -> 데이터 중심으로 변화하면서 이를 처리하기 위해 개념이 도입되었다. 모든 데이터를 데이터베이스에서 가져온 다음 클라이언트에서 스캔하여 "원하는 값"을 가져온다. Queryable은 IEnumerable에서 더하여, 마치 SQL의 Query를 보는 것처럼 질의문으로 집합데이터를 처리하게 해준다. IEumerable에서 상속되므로 IEumerable에서 할 수 있는 모든 것은 Queryable에서도 가능하다. 클라이언트는 요청을 보내고, "SQL"쿼리를 사용하여 데이터베이스에 적용, 데이터 베이스에서 필터 논리가 실행되고 필요한 데이터만 반..

Language/C# 2021.08.15

postgresql - dvdrental 실습(3)

*패스트캠 퍼스~ 패스트캠 퍼스~ * -----실습3 --flim 테이블을 한번만 scan 하여 동일한 결과 집합을 구하는 SQL을 작성하라. SELECT film_id ,title ,rental_rate FROM film WHERE rental_rate > ( SELECT avg(rental_rate) FROM film ) ; 인라인뷰나 서브쿼리를 사용하여 작성하라는 의미인듯! 현재 여기 보면 from 에서 film을 여러번 읽음 -> 작업을 줄여줄 필요가 있음 . 굳이 같은 것 두번 읽지 않아도 되니까! SELECT film_id ,title ,rental_rate from( SELECT film_id ,title ,rental_rate ,avg(a.rental_rate) OVER () AS avg_..

DB/postgres 2021.02.25

postgresql - dvdrental 실습(2)

*패캠 수강중입니다* -----실습2.----- RENTAl과 CUSTOMER 테이블을 이용하여 현재까지 가장 많이 RENTAL을 한 고객의 고객 ID, 랜탈순위, 누적랜탈횟수, 이름을 출력하라. SELECT a.customer_id 고객아이디 ,ROW_NUMBER() OVER (ORDER BY count(a.rental_id) desc) AS 랜탈순위 ,count(*) 횟수 FROM rental a GROUP BY a.customer_id ORDER BY count(*) DESC; --단 한사람 뽑기-- SELECT a.customer_id ,ROW_NUMBER () OVER (ORDER BY count(a.rental_id) DESC) AS rental_rank ,count(*) FROM rental..

DB/postgres 2021.02.24

postgresql - dvdrental 실습(1) (Roll-up)

postgresql dvdrental 데이터로 실습을 해보기로...! 사실 dvdrental.tar를 오라클로 하고 싶어서 방법 찾다 포기하고, 그냥 postgres로.... oracle과 postgres의 쿼리구문을 보니 거의 동일한것 같다! dbeaver에 연결해서 사용! DB가 무겁다? DBeaver 를 사용해보자 이것저것 DB와 spotfire를 연결해보는 작업...과 그냥 DB 공부... 겸 이것 저것 설치한 친구들 oracle... mssql... postgresql... 쿼리공부를 하라고 하셨는데... cmd에 sqlplus 치고 sql쿼리를 작성하기에 나는.... coo-coo2021.tistory.com 비버를 모른다면 위클릭! DVD-rental database의 데이터 구조를 먼저 보..

DB/postgres 2021.02.24

[oracle] scott 계정 예제 (3) 21번 ~ 33번

--21. 10번 부서 사원들 중에서 20번 부서의 사원과 같은 직무를 갖는 사원의 사원 번호 ,이름,부서 이름, 입사일, 부서 위치를 출력하여라. SELECT empno "사원번호", ename "이름", To_char(hiredate, 'yyyy-mm-dd') "입사일", loc "부서위치" FROM emp JOIN dept ON (dept.deptno=emp.deptno) WHERE emp.deptno=10 AND job in (SELECT job FROM emp WHERE deptno=20); --22. 'ALLEN'의 급여보다 많고 'SCOTT'의 급여보다 적은 사원의 사원번호,이름,부서이름,부서위치,급여를 급여가 많은 순으로 출력하여라. SELECT e.empno "사원번호", e.ename ..

DB/oracle 2021.02.17

[oracle] 예제 scott계정 (1) 1~7

*출처 오라클 홈페이지* 지만,,, 해답은 내가...! 연습기록물 ㅠㅠㅠ 틀린 부분이나 모르는 부분 고쳐 나갈 예정! scott 계정에 들어있는 테이블을 이용해준다. 없다면 이곳에! [oracle] scott 계정 없음 생성하기 --1. EMP와 DEPT TABLE을 JOIN하여 부서 번호, 부서명, 이름, 급여를 출력하라.-- SELECT e.deptno, d.dname, e.ename, e.sal FROM dept d, emp e WHERE e.deptno = d.deptno; --2. 이름이 'ALLEN'인 사원의 부서명을 출력하라. -- SELECT e.ename, d.dname FROM dept d, emp e WHERE e.ename='ALLEN'; --3. DEPT Table에 있는 모든 부..

DB/oracle 2021.02.04

oracle 용어 정리! - 1편 merge구문

2편도 나오겠죠....? 언젠가는....? 희희. *구루비넷 참조하였습니다.* *SQL 전문가 가이드 책 참고* MERGER 기본 구문 -- *구루비넷* MERGE [ hint ] INTO [ schema. ] { table | view } [ t_alias ] USING { [ schema. ] { table | view } | subquery } [ t_alias ] ON ( condition ) WHEN MATCHED THEN UPDATE SET column = { expr | DEFAULT } [, column = { expr | DEFAULT } ]... [ DELETE where_clause ] WHEN NOT MATCHED THEN INSERT [ (column [, column ]...) ..

DB/oracle 2021.01.26

[sql] select 구문

--as 같은 경우 필명을 지어주는 느낌-- SELECT employee_id AS "ID" FROM EMPLOYEES; SELECT employee_id AS "ID", salary AS "SAL" FROM employees; --distinct 중복을 제거하기 위한 명령어-- SELECT * FROM employees; SELECT DISTINCT * FROM employees; SELECT DISTINCT job_id FROM employees; --날짜 와 같은 경우에는 ''따옴표로 날짜를 지정하여 준다. SELECT FIRST_name, LAST_name HIRE_DATE FROM employees WHERE HIRE_DATE >= '04/01/01' SELECT FIRST_name, LAST_..

DB/oracle 2021.01.21

sql basic (4) -select

*출저 구루비넷* *퍼옴 구루비넷* 이제... 친구들의 데이터는 놓아주기로 했다. 행복했다...! 안녕 애들아. 다음에 필요하면 또 사용할께 친구들의 데이터 있는 곳 ㅜㅜ 1. 친구들 테이블... 지방은 따듯하니? 2. 친구들 데이터 넣기... 행복해 애들아 SELECT 문법 SELECT [DISTINCT] column [ alias: 별칭] FROM [테이블 이름] WHERE [조건] ORDER BY DISTINCT : 중복되는 행을 제거하는 옵션. alias : 해당 column에 대해서 다른 이름을 부여할 때 사용. ORDER BY : 질의 결과 정렬을 위한 옵션(ASC:오름차순(Default),DESC내림차순) 이번에 사용할 테이블은 EMP # 예제1 #별칭 붙이기 SELECT empno 사번, ..

DB/oracle 2021.01.15