본문 바로가기

SQL

서브쿼리(sub Query), 조인(join) 주안점 : 서브쿼리(sub Query), 조인(join) 보기문제1) 서브쿼리(where) titles 테이블의 평균을 구한 후, 그 평균 이상의 데이터의 모든 내용을 출력하는 쿼리문을 작성하십시오. 답) select * from titles where price >= (select avg(price) from titles); 참고) 서브 쿼리도 함수를 사용하는 것과 같은 맥락이라고 생각한다면 어려운 개념은 아닙니다. 함수가 결과값을 돌려주는 것과 같이 ‘>=’ 이후의 서브 쿼리도 결과값을 반환합니다. 보기문제2) 서브쿼리(from, inline-view) titles 테이블에서 실제 존재하는 price 라는 필드의 구문에서 15달러 초과의 데이터를 가져온 후 이것을 virtual_price 라는 가상 .. 더보기
세 개 이상 테이블의 조인 / 조인 문 쉽게 만들기 정원혁 교제 155p 블로깅 조인을 걸때는 테이블이 셋 이상이라고 해서 달라질 것은 없다. 다음과 같은 결과를 얻는다고 해보자. 책명 출판사명 수량 그렇다면 가져올 컬럼이 어떤 테이블에 있는지를 찾아내고, 테이블 간의 관계를 찾아내면 된다. 이를 위해서는 ER-D가 절대적으로 필요하다. 만약 머리가 좋아서 ER-D를 모두 외우고 있다면, 몰라도 조인 문을 작성할 떄는 ERD의 도움이 절실히 필요하다. ERD를 보면 titles와 publishers는 pub_id로, 수량이 있는 sales와 titles는 title_id로 연결된다. 따라서 다음과 같은 JOIN 문이 나온다. ex1) select title, pub_name, qty from titles JOIN publishersON titles.pub.. 더보기
My-SQL 연산함수/ISNULL/group by/compute /* p.139 ~ */ select sum(qty) from sales; -- 함수정리) -- AVG() : 평균 -- COUNT() : 개수 -- COUNT(*) : 선택된 모든 행의 개수 -- MAX() : 가장 큰 값 -- MIN() : 가장 작은 값 -- SUM() : 합계 Select max(qty), min(qty) from sales; Select count(*) from titles; Select count(title_id) from titles; Select count(price) from titles; Select count(*) from titles where price is not null;  수치 데이터에 NULL이 있을 때는 NULL 데이터(행)은 연산 함수의 대상에 제외된다.. 더보기
열공~ 정원혁 교재(SQL 2000) 베끼기 그리고 요약(3) 열공~ 정원혁 교재(SQL 2000) 베끼기 그리고 요약(3) Name 강사 sql_exam_p109_.sql ( Size : 1.2 KB ) ----- p.109 답안 use pubs; select title_id, title, type, pub_id, price, ytd_sales, pubdate from titles where title like '%computer%' order by type; ---- p.110 답안 select stor_id as 서점번호, ord_date, qty, title_id from dbo.sales where stor_id NOt between '7067' and '7131'; ----*** Good Problem !!!!!! -- 다음 문장은 무슨 문제를 가지고 있.. 더보기
열공~ 정원혁 교재(SQL 2000) 베끼기 그리고 요약(2) 열공~ 정원혁 교재(SQL 2000) 베끼기 그리고 요약(2) Name 강사 sql_exam_until_p108.sql ( Size : 5.0 KB ) 부지런히 타이프 하세용.... 베끼면 늘지 않습니다. 일일이 타이픙하시는 것이 좋습니다. ######################################################### ---------------------- 교과서 p.108 까지의 내용입니다. ------- use pubs; select * from titles; select title_id, title from titles where title LIKE '%computer%' select title_id, title from titles where title LIke 'com.. 더보기
열공~ 정원혁 교재(SQL 2000) 베끼기 그리고 요약(1) 열공~ 정원혁 교재(SQL 2000) 베끼기 그리고 요약(1) Name 강사 use pubs; /* DB 사용 */ exec sp_help titles; /* 프로시저 사용하여 일부 컬럼을 획득 */ exec sp_columns titles; /* 위의 구문과 동일한 효과 */ select title_id, title, price, pub_id from titles; /* 검색 조회 */ select title_id, pub_id, price, title from titles; select '책 번호:', title_id, pub_id, price, title from titles; /* 가상 컬럼을 이용하여 결과 보이기 */ select title_id as title_no, pub_id as [출판사.. 더보기
김연홍님 강좌 MySQL my sql 함수 - 김연홍님 강좌 MySQL - 산술적 연산함수 -- CEILING(절상) , FLOOR(절삭) SELECT CEILING(27.4), FLOOR(27.6) ----- ----- 28 27 SELECT RAND() -- 0에서 1사이의 SELECT RAND() * 100 --: 0~100사이의 임의의 값을 리턴 SELECT RAND() * 99 + 1 -- : 1에서 100사이의 임의의 값을 리턴 SELECT CONVERT(TINYINT, RAND() * 99 + 101) -- : 101~200사이의 임의의 값(정수)을 리턴 SELECT ROUND(27.3, 0), ROUND(27.7, 0), ROUND(27.283, 1) ----- ----- ------- 27.0 28.0 27.30.. 더보기
MySQL 사용자 권한 만들기 MySQL 사용자 권한 만들기 MySQL에서 root 암호 설정 mysqladmin을 이용하여 root 암호 설정 MySQL을 처음 설치하면 root 암호가 설정되어 있지 않기 때문에 반드시 설치 후 바로 root 암호를 먼저 설정해주세요. root 암호를 설정하기 위해서는 $ mysqladmin -u root -p password new-password 이러한 명령을 실행하면 됩니다. 실행하면 패스워드를 입력하라고 하는데 처음 root의 패스워드는 없으므로 그냥 엔터를 치시면 root 패스워드가 변경됩니다. update문을 이용하여 root 암호 설정 $ mysql -u root mysql mysql> update user set password = password('new-password') wher.. 더보기