DB 연습하기 02 - 컬럼 보기

오늘·2021년 4월 20일
0

DB

목록 보기
2/14
  1. 특정 컬럼만 보고싶은데, 이름을 바꿔서 보고싶어요
    select (컬럼명) (바꿔서 볼 이름) from 테이블명

  2. 중복되는 내용 넣을 수 있어요?
    -> 네. 근데 primary key 로 설정했으면 안됩니다.

  3. 내용을 보긴 할건데, 중복 되는 내용은 안보고 싶다
    select Distinct 컬럼명 from 테이블명

작성하는데 있어서 대문자 / 소문자는 상관 없다.


연습

테이블 생성 및 정보넣기

/*만약 아래 이름으로 있는 테이블이 이미 있다면 삭제시켜라*/
DROP TABLE STUDENT;

/* STUDENT 테이블 생성*/
CREATE TABLE STUDENT (
  STU_ID       NUMBER(4)        NOT NULL, -- 학생번호, 널 값 허용 안 함
  STU_NAME     VARCHAR(20)      NULL,     -- 학생명
  AGE          NUMBER(4)        NULL,     -- 나이
  STU_EMAIL    VARCHAR(20)      NULL,     -- 이메일
  COU_ID       NUMBER(4)        NULL,     -- 소속된 과정의 과정 번호
  SEX          CHAR(1)          DEFAULT 'M',  -- 성별   
  PRIMARY KEY(STU_ID),            -- 학생번호를 기본키로 지정  
  FOREIGN KEY(COU_ID) REFERENCES COURSE(COU_ID)  -- 과정 번호를 외래키로 지정
);

--학생 테이블안에 데이터 입력
INSERT INTO STUDENT VALUES(101,'문종헌', 24,'moon@nate.com',10,'M');
INSERT INTO STUDENT VALUES(102,'오한솔', 22,'five@nate.com',20,'M');
INSERT INTO STUDENT VALUES(103,'제용석', 22,'again@nate.com',20,'M');
INSERT INTO STUDENT VALUES(104,'정국철', 22,'cook@nate.com',20,'M');
INSERT INTO STUDENT VALUES(105,'박홍진', 24,'red@nate.com',10,'M');
INSERT INTO STUDENT VALUES(106,'김현우', 21,'kim@nate.com',20,'M');
INSERT INTO STUDENT VALUES(107,'박시준', 22,'season@nate.com',20,'M');
INSERT INTO STUDENT VALUES(108,'김준형', 27,'brother@nate.com',10,'M');
INSERT INTO STUDENT VALUES(109,'문혜진', 22, NULL,20,'F');
INSERT INTO STUDENT VALUES(110,'박기석', 34,'flag@nate.com',10,'M');
INSERT INTO STUDENT VALUES(111,'윤효선', 24,'od@nate.com',30,'F');
INSERT INTO STUDENT VALUES(112,'안창범', 34,'window@nate.com',30,'M');
INSERT INTO STUDENT VALUES(113,'공지훈', 28, NULL, 10,'M');
INSERT INTO STUDENT VALUES(114,'이봉림', 29,'bbong@nate.com',10,'M');
INSERT INTO STUDENT VALUES(115,'안창범', 24,'chang@nate.com',30,'M');
INSERT INTO STUDENT VALUES(116,'장희성', 34,'shine@nate.com',10,'M');

-- 원하는 대로 만들어 졌으면 커밋
commit;

만든 테이블로 연습해보기

-- 먼저 table 전체 보기로 내용물을 확인해보기
select * from STUDENT;

-- 보고싶은 컬럼만 보려면?
select stu_id, stu_name from student;
-- stu_id는 학번이라는 컬럼명으로
-- stu_name은 이름이라는 컬럼명으로 바꿔서 보겠다면?
select stu_id 학번, stu_name 이름 from student;


-- 중복되는 내용 넣어보기(primary key 만 안건드리면 중복 내용 삽입 가능하다)
Insert into student (stu_id, stu_name) values (117, '장희성');
Insert into student (stu_id, stu_name) values (118, '장희성'); 
Insert into student (stu_id, stu_name) values (119, '장희성');

-- 확인을 하고 싶은데, 중복 된건 한번만 나오도록 하고싶다
select DISTINCT stu_name from student;
select stu_name from student;   -- 전체보기 해서 위와 비교해보기

0개의 댓글