SQL*PLUS, iSQLPLUS, SQLGATE, ORANGE 같은 프로그램을 이용해서
SCOTT 계정으로 접속하면

SQL>_ 상태 혹은 쿼리문을 입력할 수 있는 상태가 된다.
 이 상태에서 SQL>SELECT * FROM TAB; 을 입력하고 실행시키면
아래와 같은 테이블들을 볼 수 있다.

사용자 삽입 이미지

오늘은 여기서 EMP 테이블을 가지고 쿼리문을 익혀보고자 한다.
물론 문제들은 MSSQL2005를 2틀 동안 배우다가 갑작스럽게 오라클로 변경한
K 모학원에서 오늘 연습문제로 내준 것임을 밝혀둔다.
사실 오라클에 관심이 많아서 내심 기다렸는데 잘된 일이라고 개인적으로 생각한다.

자 그럼  EMP테이블에 들어있는 모든 데이터를 보자.

[참고] SELECT 문의 기본형 
          SELECT 칼럼명 FROM 테이블;

          SELECT 문의 확장
          SELECT 칼럼명 FROM 테이블 조건절(WHERE)

         
물론 공부하다보면 SELECT문을 써서도 데이터를 저장할 수 있다.
 그것은 개인적으로 찾아보는 것도 실력향상에 도움이 될 듯..

자. 다시 돌아와서 SELECT * FROM EMP를 하면 알 수 있다.
사용자 삽입 이미지

예제들을 풀어보자.

EMP 테이블에서 급여가 3000이상인 사원의 정보를 사원번호, 이름, 담당업무, 급여를 출력하시오.
SELECT EMPNO 사원번호, ENAME 이름, JOB 담당업무, SAL 급여
FROM EMP WHERE SAL >=3000;

사용자 삽입 이미지

EMP 테이블에서 사원번호가 7788인 사원의 이름과 부서번호를 출력하는 SELECT 문장을
작성하시오.

SELECT ENAME, DEPTNO FROM EMP WHERE EMPNO='7788';

사용자 삽입 이미지

테이블에서 입사일이 February 20,1981과 May 1, 1981 사이에 입사한 사원의 이름, 업무, 입사일을 출력하는 SELECT 문은? 단, 입사일 순으로 출력하시요.
SELECT ENAME, JOB, HIREDATE FROM EMP
WHERE HIREDATE BETWEEN '1981/02/20' AND '1981/05/01';
사용자 삽입 이미지

EMP 테이블에서 부서번호가 10, 20인 사원의 정보를 출력하시오. 단, 이름순으로
정렬하시오.

SELECT * FROM EMP WHERE DEPTNO=10 OR DEPTNO=20;
SELECT * FROM EMP WHERE DEPTNO IN(10,20);
사용자 삽입 이미지

EMP 테이블에서 급여가 1500이상이고 부서번호가 10,30인 사원의 이름과 급여를 출력하되
표시를 Employee와 Monthly Salary로 표시되게 하시오.

SELECT ENAME AS Employee, SAL As "Monthly Salary" FROM EMP
WHERE SAL>=1500 AND (DEPTNO=10 OR DEPTNO=30);

사용자 삽입 이미지

EMP 테이블에서 1982년에 입사한 사원의 모든 정보를 출력하도록 하세요.
SELECT * FROM EMP WHERE HIREDATE BETWEEN '1982/01/01' AND '1982/12/31';

사용자 삽입 이미지


EMP 테이블에서 COMM이 NULL이 아닌 사원의 모든 정보를 출력하세요.
SELECT * FROM EMP WHERE COMM IS NOT NULL;
사용자 삽입 이미지

EMP 테이블에서 보너스가 급여보다 10%가 많은 모든 종업원에
대해서 이름, 급여, 보너스를 출력하도록 하세요.

SELECT ENAME AS 이름, SAL AS 급여, COMM AS 보너스 FROM EMP
WHERE COMM > (SAL*1.1) ;
사용자 삽입 이미지

EMP 테이블에서 업무가 CLERK 이거나 ANALYST이고 급여가 1000,3000,5000이 아닌 모든 사원으리 정보를 출력하시오.
SELECT * FROM EMP WHERE (JOB='CLERK' OR JOB='ANALYST') AND SAL NOT IN (1000,3000,5000);
사용자 삽입 이미지

EMP 테이블에서 이름에 L 자가 2 자가 있고 부서가 30이거나 또는 관리자가 7782인
사원의 모든 정보를 출력하시오.

SELECT * FROM EMP WHERE ENAME LIKE '%L%L%' AND (DEPTNO=30 OR MGR='7782');
사용자 삽입 이미지

정리하자면 조건절에서 LIKE, %, IN  등을 이용하여 SELECT 쿼리문을 알아보았다.
추가적으로 ENAME이 A로 시작하는 것만 검색할 경우에는
조건절에 WHERE ENAME LIKE 'A' 으로 하면 A로 시작하는 이름을 검색할 수 있다.
또한 이름이 총 5자이며 A로 시작하는 이름이 있는지 알고자 할 경우에는
WHERE ENAME LIKE 'A____' 이런식으로 _(언더바) 4개를 지정해주고 실행하면 검색이 가능하다.

그럼 즐 공부들 하시길..

'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글

ORACLE-SQLPLUS사용하기  (1) 2008.04.19
ORACLE-JOIN 알아보기  (4) 2008.04.19
ORACLE-To_CHAR, CASE 배우기  (0) 2008.04.18
ORACLE-여러가지 함수들  (0) 2008.04.17
ORACLE-웹접속하기  (0) 2008.04.16
Posted by 원철연(체르니)
,

데이터베이스를 다시 공부하면서 MSSQL 2005로 시작하게 되었는데 조금은 황당한
학원측의 일정 변화로 오라클부터 공부하게 되었는데. 어찌 보면 더 잘 되었다고 생각한다.

오라클로 열심히 공부하면 MSSQL2005는 경험상 편하게 접할 수 있을 것이기 때문이다.

SQL*PLUS로 DB를 컨트롤하는데 9i 버전에서는 인터넷으로 가능하게 된 것 같다.
그래서 오늘은 isqlplus에 대해서 알아 보고자 한다.

사용자 삽입 이미지

웹브라우저를 실행하고 http://IP주소:포트번호/isqlplus 를 입력하고 엔터를 치면 위와 같은 화면을
볼 수 있다.
여기에서 사용자 계정과 비밀번호를 입력하고 확인버튼을 누르면
사용자 삽입 이미지

위의 화면은 scott 계정으로 로그인 화면임
여기서 아래와 같이 쿼리문을 작성한다.
사용자 삽입 이미지

위와 같이 쿼리문을 작성한 후 실행버튼을 클릭하면 아래와 같이 SQL*PLUS를 이용해서 실행한 것같은 결과를 얻을 수 있다.

사용자 삽입 이미지

이상으로 간략하게 isqlplus의 사용법에 대해서 알아보았음.
다들 즐공하시길...

Posted by 원철연(체르니)
,
MSSQL2000, MySQL4.0 버전의 데이터 베이스를 이용하여 데이터 처리를 해 본 후 약 6년 만에 다시 MSSQL 2005를 접하게 되니 감개 무량일 따름임.

오늘은 MS의 예제 데이터베이스를 학습차원에서 DB에 붙이는 과정을 알아보고자 합니다.

다운로드받아야할 파일은 아래의 링크를 클릭해서
http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004

AdventureWorksDB.msi  이 파일을 받으면 된다.
참고로 MS의 사용동의서를 잘 읽어보시길..

다운로드 받아 실행하면 MSSQL 2005 Server 폴더의 DATA 파일에 저장된다.

자 이제 DB를 연결(붙이기)하기를 알아보자.
사용자 삽입 이미지
데이터베이스에서 오른쪽 마우스 클릭하면 위와 같은 메뉴가 나오는데 여기서 연결을 선택한다.

사용자 삽입 이미지

위에서 추가버튼을 클릭하면

사용자 삽입 이미지

Data 밑에 AdventureWorks_Data.mdf를 선택하고 확인

사용자 삽입 이미지

위에서 보는 바와 같이 데이터파일(.mdf)과 로그파일(.ldf)파일이 선택된 것을 알 수 있다.
확인을 누르고 실제 제대로 붙여졌는지 확인을 해보자.

사용자 삽입 이미지

위와 같이 제대로 붙어 있는 것을 확인할 수 있다. 이상으로 간단하게 알아보았다.
추후 다른 데이터베이스가 존재할 경우.. 이와 같은 방법으로 붙이면 될 것이다.
Posted by 원철연(체르니)
,

벌써 4번째 시간이군요.

오늘은 유용하게 사용할 수 있는 리스트박스와 콤보박스를 이용해서 제가 작년에
다녀온 우한보기 프로그램을 간단히 만들어 보았습니다.

따라하다보면 기본적인 사용법을 쉽게 익힐 수 있을 겁니다.
그럼 시작해 볼까요?

결과물을 먼저 볼까요?

1. 리스트박스에 선택했을 때 결과

사용자 삽입 이미지

2. 콤보박스에 선택했을 때의 결과
사용자 삽입 이미지

어떤 가요?  너무 쉬운가요?
이제 세부적인 부분을 한 번 알아 봅니다.

사용된 폼 컨트롤 속성정보
사용자 삽입 이미지

자 이제 코드를 입력해 볼까요?

먼저 리스트박스와 콤보박스에 선택할 수 있는 아이템을 등록해야 되겠지요.?
이것은 Form1_Load 이벤트에서 해주면 됩니다.


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        '폼이 로드될 때 리스트박스와 콤보박스 초기화
        '리스트박스에 아이템 정의
        ListBox1.Items.Add("호텔방")
        ListBox1.Items.Add("호텔 앞 전경")
        ListBox1.Items.Add("호텔 옆 전경")
        ListBox1.Items.Add("버스타는 곳")

        '콤보박스에 아이템 정의
        ComboBox1.Items.Add("고금대에서")
        ComboBox1.Items.Add("손문 동상")
        ComboBox1.Items.Add("장강 제 1철교 위에서")
        ComboBox1.Items.Add("황학루")

        '폼의 구분을 위해 폼에 추가했던 Label2, Labe3를 실행시보여주지 않기
        Label2.Visible = False
        Label3.Visible = False

End Sub

다음으로 리스트박스나 콤보박스에서 해당 아이템을 선택하면 픽쳐박스에 보여주도록 하는 부분은 어떻게 하면 될까요?
이것은 ListBox1_SelectedIndexChanged(블라블라), ComboBox1_SelectedIndexChanged(블라블라) 이벤트에서 해주면 됩니다.


- 리스트 박스관련
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

        '리스트박스에서 선택된 것에 따라서 PictureBox2에 그림을 보여주기
        Select Case ListBox1.SelectedIndex
            Case 0
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\호텔방.jpg")
                MsgBox("호텔방을 선택하셨네요. 4성급 호텔인데 좀 후지죠?")
            Case 1
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                   \4성호텔부근\호텔앞 전경.jpg")
                MsgBox("호텔앞 전경을 선택하셨네요. 호텔 앞이 좀 시골틱합니다.")
            Case 2
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\호텔옆 전경.jpg")
                MsgBox("호텔 옆 전경을 선택하셨네요. 호텔방에서 바라본 전경입니다. 여행사의 상술
                             에 속지말자.")
            Case 3
                PictureBox1.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \4성호텔부근\버스타는 곳.jpg")
                MsgBox("버스타는 곳을 선택하셨군요. 버스비는 1위안, 2위안 2가지 입니다.^^")
        End Select

    End Sub

- 콤보박스관련
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

        '콤보박스에서 선택된 것에 따라서 PictureBox2에 그림을 보여주기
        Select Case ComboBox1.SelectedIndex
            Case 0
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\고금대에서.jpg")
                MsgBox("고금대에서를 선택하셨네요. 고금대는 우정과 관련된 역사적인 곳임")
            Case 1
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\손문동상.jpg")
                MsgBox("손문동상을 선택하셨네요.손문은 쑨원이라고도 불리는데 중국의 국부이죠")
            Case 2
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\장강제1철교위에서.jpg")
                MsgBox("장강제1철교위에서를 선택하셨네요. 1킬로미터가 넘는 긴다리입니다.")
            Case 3
                PictureBox2.Image = System.Drawing.Image.FromFile _
                  ("E:\티스토리\무료강좌 및 교육\비주얼 베이직2008\강좌 4 리스트박스와 콤보박스
                    \관광지\황학루.jpg")
                MsgBox("황학루를 선택하셨네요. 황학루, 후베이박물관과 함께 우한의 대표적인 명소지
                              요")
        End Select
End Sub

마지막으로 버튼 컨트롤에서 MsqBox의 조금더 발전된 기능을 넣은 부분
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        MsgBox("본 프로그램이 유용하셨는지요? 유용하셨으면 격려차원에서 댓글도 남겨주시면 감사
                      하겠습니다.", MsgBoxStyle.YesNo)

        '프로그램 끝내기
        End
End Sub

이부분 출력 결과를 보면

사용자 삽입 이미지

이상으로 오늘의 강좌를 마칩니다.
열심히 하나 하나 익히셔서 좋은 프로그램 많이 만들어주세요.

참고로 Form1.vb 파일을 첨부합니다. 참고하세요.^^;;


궁금하신 사항이 있으시면 댓글이나 이메일로 문의를 주세요. 그럼 이만 마칩니다.

Posted by 원철연(체르니)
,

비주얼 베이직을 손에서 놓은지 4년이 지났지만 다시 보니 새롭기도 해서
비주얼 스튜디오 2008 + 비스타 환경에서 틈나는대로 올려볼까 합니다.
대상은 당연히 처음시작하는 분들이겠지요^^;;

그 첫번째 시간으로 Hello world와 간단한 자기 생일 표시하는 프로그램을 올려봅니다.

학습내용
1. 컨트롤 익히기 : TextBox, Button, DateTimePicker, Group
2. 간단한 조건문
3. 간단한 함수 : Val, Left, MsgBox
4. 세부사항들은 하나씩 변화를 줘가면서 실행결과를 보면 각 컨트롤에 대해서 이해를
    할 수 있을 겁니다.


자 그럼 시작해 볼까요?

사용자 삽입 이미지


OK 버튼을 누르면

사용자 삽입 이미지

이렇게 하여 HelloWorld라는 프로젝트가 생성되었습니다.

Form1.vb를 클릭하여 아래와 같이 해당 컨트롤들을 위치시키고 각 컨트롤의 Properties를 변경해 줍니다.(이부분은 첨부한 파일을 열어보시면 아실 수 있습니다.^^;;)

최종 폼 디자인은 아래와 같습니다.
사용자 삽입 이미지


자 이제 제대로 동작하기 위해 코드를 작성해 봅니다.

먼저 HelloWorld 그룹의 확인 버튼을 더블 클릭하여 아래와 같이 입력합니다.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        TextBox1.Text = "Hello, world!"
End Sub

그리고 지우기 버튼을 더블 클릭하여 아래와 같이 입력합니다.
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        'TextBox1의 어떠한 글자가 표시되어 있으면 지우라는 조건문
        If TextBox1.Text <> "" Then
            TextBox1.Text = ""
        End If

        'TextBox1에 지울내용이 없으면 표시하도록 한 것
        If TextBox1.Text = "" Then
            MsgBox("지울내용이 없습니다요..헤헤")
        End If
    End Sub

이렇게 하면 HelloWorld 그룹쪽은 코딩이 끝납니다.

다음으로 생일 보여주기 그룹의 내생일 보여주기를 더블클릭합니다. 그리고 아래와 같이 코딩합니다.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim strDate As String
        Dim strYear As String
        Dim IntYear As Integer
        Dim IntCompYear As Integer


        strDate = DateTimePicker1.Text
        strYear = Microsoft.VisualBasic.Left(strDate, 4) 'Left(문자열, 길이) 왼쪽에서 길이만큼
        잘라낸다. 'VB6.0시절엔 Left(strDate,4)써도 괜찮았는데 그사이 많이 바뀐 듯 하군요
.
        IntYear = Val(strYear)
        IntCompYear = 2008 - IntYear

        '프로그래밍을 할 수 있는 최소 나이는 8살이라고 보고 현재 2008 - 2000을 기준으로 제한을
         둔 조건문
        If IntCompYear <= 8 Then
            MsgBox(IntCompYear & " 살이라니 당신은 컴퓨터 프로그래밍을 하기에는 너무 어린 나이
            에요!. 원래 나이를 입력해주세요.")
            Exit Sub '아래의 코드를 실행하지 말고 이 버튼2클릭을 빠져나가라는 부분 
        End If

        MsgBox("당신의 생일은" & DateTimePicker1.Text)
        MsgBox("그해의 날은" & DateTimePicker1.Value.DayOfYear.ToString())

    End Sub

이렇게 한 후 F5키를 눌러 실행해 보면

사용자 삽입 이미지


Hello world 그룹의 확인 버튼 클릭후
사용자 삽입 이미지


생일보여주기 그룹의 내생일보여주기에서 현재 날짜 상태에서 내생일보여주기 클릭시
(정확한 자신을 생일은 DateTimePicker 컨트롤의 달력모양을 클릭하여 선택할 수 있음)
사용자 삽입 이미지










이상으로 몇 개의 컨트롤과 간단한 조건문, 함수의 사용법을 알아보았음.
이 간단한 프로그램도 여러가지 세부적인 조건들을 구미에 맞게 걸어보시길 바라구.

이 프로그램 정도를 이해할 수 있으면 기본적인 것은 갖춰졌다고 생각합니다.
그럼 오늘은 이정도로 하구 혹시라도 그럼 안녕~

[참고] 소스를 올립니다.

Posted by 원철연(체르니)
,