Transcript 실습 10

실습 10. SQL Server 쿼리
기본적인 Table의 구조
속성
투플
Select
• 테이블 안에 값을 검색하기 위해 사용하며 where문으로 특정조건을
주어 조건에 만족하는 값만을 검색할 수 있다.
• Select 찾을 항목의 이름 from 테이블이름
-> 이때 값의 이름에 *을 해주면 해당 테이블에 있는 값을 모두
검색한다.
Select
(예문) SELECT LastName, FirstName FROM Persons
-> Persons테이블에서 LastName과 FirstName 항목에 있는
값들을 검색
(결과)
(예문) SELECT * FROM Persons
-> Persons테이블에서 전체 값들을 검색
(결과)
Distinct
• 원하는 항목에 있는 값들을 찾아보기 위한 명령이다.
• SELECT명령 사이에 쓰이며 검색에서 중복되는 값을
하나만 표시한다.
• SELECT DISTINCT 항목이름 FROM 테이블이름
(예문) SELECT DISTINCT * FROM Persons
(결과)
Where
• 값의 검색, 수정, 삭제 등에서 조건을 입력할 때 사용한다.
• WHERE (조건)
(예문) SELECT * FROM Persons
WHERE City='Sandnes'
-> Persons테이블에서 City항목에 Sandnes라는 값을 가진
목록을 전부 표시한다.
(결과)
Where
• Where문에서의 조건 연산자는 비교 연산자
옆의 표와 같다.
=
같다
의미
<>
같지않다. (다르다.)
<
크다.
>
작다
<=
크거나 같다.
>=
작거나 같다.
쿼리문에서 값을 지정 할 때에 int형의 값은 값의 양 끝에 따옴표를
해주지 않으나 char형의 값은 꼭 양끝에 따옴표를 붙여준다.
(예) City='Sandnes‘ (O)
City=Sandnes (X)
AND & OR
• Where에서 연달아 다른 조건을 추가적으로 줄때 사용한다.
• AND는 AND 이전의 조건과 이후의 조건이 전부 만족 할 때를 표시
한다.
-> WHERE 조건 AND 조건
(AND의 예문)
SELECT * FROM Persons
WHERE City='Sandnes'
AND FirstName='Tove'
(결과)
AND & OR
• OR는 OR 이전과 이후의 조건 중에서 하나의 조건이라도 만족 할 때
를 표시한다.
-> WHERE 조건 OR 조건
(OR의 예문)
SELECT * FROM Persons
WHERE FirstName='Tove'
OR FirstName='Ola‘
(결과)
AND & OR
(AND, OR를 같이 쓴 예문)
SELECT * FROM Persons WHERE
LastName='Svendson‘
AND (FirstName='Tove' OR FirstName='Ola')
(결과)
Order By
• Order By는 테이블의 내용을 일정 기준에 따라서 오름차순 또는
내림차순으로 정렬 할 때에 쓰인다.
-> ORDER BY 정렬할 기준의 항목이름
(오름차순의 예문)
SELECT * FROM Persons
ORDER BY FirstName ASC
(결과)
(오름차순/내림차순)
(ASC/DESC)
Order By
• -> ORDER BY 정렬할 기준의 항목이름 DESC
(오름차순의 예문)
SELECT * FROM Persons
ORDER BY FirstName DESC
(결과)
(내림차순)
Insert
• 테이블에 투플을 추가할 때 사용한다.
-> INSERT INTO 테이블이름
VALUES (value1, value2, value3,...)
• 자신이 원하는 항목에 대해서만 값을 넣고 싶다면
다음과 같이 하면 된다.
-> INSERT INTO 테이블이름 (항목1, 항목2, 항목3,...)
VALUES (value1, value2, value3,...)
• 만약 처음 방법처럼 Insert문을 사용하면 값들을 테이블에 있는
항목순서에 따라 값이 추가 된다.
Insert
(항목 지정이 없는 예문)
INSERT INTO Persons
VALUES ('Nilsen', 'Johan', 'Bakken 2', 'Stavanger')
SELECT * FROM Persons
(결과)
Insert
(항목 지정이 있는 예문)
INSERT INTO Persons (LastName, FirstName, City)
VALUES ('Tjessem', 'Jakob','Sandnes')
SELECT * FROM Persons
(결과)
Update
• 테이블의 값을 수정할 때 사용한다. Update문을 사용하기 위해서는
어떠한 투플에 있는 값을 수정해야 할지 조건문(Where)을 사용하여
정의해준다.
-> UPDATE 테이블이름
SET 수정할 항목1=변경 값, 수정할 항목2=변경 값,...
WHERE 조건
• 만약 조건을 정의해 주지 않는다면 모든 투플의 해당 항목 값이
변경된다.
Update
(예문)
UPDATE Persons
SET Address='Nissestien 67', City='Stavanger'
WHERE LastName='Tjessem' AND FirstName='Jakob'
SELECT * FROM Persons
(결과)
Delete
• 투플의 내용을 삭제할 때에 사용한다. Delete 또한 조건문(Where)를
사용하여 어떠한 투플을 삭제할 것인가를 정의해준다.
->DELETE FROM 테이블 이름
WHERE 조건
(예문)
DELETE FROM Persons
WHERE LastName='Tjessem' AND FirstName='Jakob‘
SELECT * FROM Persons
(결과)
Delete
• 만약 조건을 정의해 주지 않는 다면 테이블에 있는 모든 투플의
내용이 삭제가 된다
(예문)
DELETE FROM Persons
SELECT * FROM Persons
(결과)
실습과제
• 아래와 같은 테이블을 students라는 이름으로 만들고 아래의 작업을
쿼리문을 사용하여 실행하시오.
1. 학과가 ‘컴퓨터정보통신’인 학생의 이름, 학번, 학년을 검색하시오.
2. 김하나 학생의 학년을 3학년으로 수정하시오.
3. 학년이 2학년이고 컴퓨터과학전공인 학생의 투플을 삭제하시오.
4. 학생 한명을 적절히 추가하시오.
5. 학년이 3학년보다 작은 투플을 삭제하시오.