SELECT (last_name || '_' || first_name) AS full_name, last_name, first_name FROM employees

실행 예제

 

COALESCE(A, B);

 

A값이 NULL일 경우 B로 반환합니다.

 

select category_id, description, COALESCE(description, 'empty') as COALESCE_RESULT from categories;

 

실행 결과

 

두 개 이상의 쿼리를 한번에 출력할 때 사용합니다.

 

출력할 때의 컬럼의 개수가 같아야 합니다.

 

예를 들어 첫번째 쿼리의 출력되는 컬럼은 2개인데 두번째 쿼리의 출력되는 컬럼은 1개라면

 

오류 발생합니다.

 

SELECT company_name FROM customers
UNION
SELECT address FROM suppliers;

실행 결과1

 

SELECT (ROW_NUMBER() OVER()) AS ROWNUM, * FROM customers limit 10

실행 예제1

 

 

SELECT * FROM customers limit 10

실행 예제2

 

DevExpress에서 DxValidationProvider 를 사용하여 유효성 검사를 합니다.

 

using System.Windows.Forms;

using DevExpress.XtraEditors.DXErrorProvider;

namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            #region 유효성 검사 입니다.

            this.dxValidationProvider1.ValidationMode = DevExpress.XtraEditors.DXErrorProvider.ValidationMode.Manual;

            ConditionValidationRule validationRule = new ConditionValidationRule();

            validationRule.ConditionOperator = ConditionOperator.IsNotBlank;
            validationRule.Value1 = "";

            validationRule.ErrorText = "Please enter a value that equals to the first editor's value";
            validationRule.ErrorType = ErrorType.Critical;

            dxValidationProvider1.SetValidationRule(this.textEdit1, validationRule);

            #endregion

            #region 이벤트를 설정합니다.

            this.simpleButton1.Click += SimpleButton1_Click;

            #endregion
        }

        /// <summary>
        /// 버튼 클릭시 동작합니다.
        /// </summary>
        /// <param name="sender">이벤트 발생자 입니다.</param>
        /// <param name="e">이벤트 인자 입니다.</param>
        private void SimpleButton1_Click(object sender, System.EventArgs e)
        {
            dxValidationProvider1.Validate();
        }
    }
}

폴더 브라우저 출력하기 입니다.

 

using System.Windows.Forms;

namespace Test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            this.buttonEdit1.ButtonClick += buttonEdit1_ButtonClick;
        }

        #region buttonEdit1_ButtonClick() - 버튼 에디트의 버튼 클릭시 동작합니다.

        /// <summary>
        /// 버튼 에디트의 버튼 클릭시 동작합니다.
        /// </summary>
        /// <param name="sender">이벤트 발생자 입니다.</param>
        /// <param name="e">이벤트 인자 입니다.</param>
        private void buttonEdit1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            FolderBrowserDialog folderBrowser = new FolderBrowserDialog();

            if(folderBrowser.SelectedPath != null)
            {
                folderBrowser.SelectedPath = this.buttonEdit1.Text;
            }

            if(folderBrowser.ShowDialog() == DialogResult.OK)
            { 
                this.buttonEdit1.Text = folderBrowser.SelectedPath;
            }
        }

        #endregion
    }
}

테이블에 새로운 행을 삽입하기.

 

INSERT INTO COMPANY
 ( ID
  ,NAME
  ,AGE
  ,ADDRESS
  ,SALARY
  ,JOIN_DATE)
VALUES 
( 1
 ,'Paul'
 ,32
 ,'California'
 , 20000.00
);

스키마는 테이블의 명명 된 모음입니다. 스키마에는 뷰, 인덱스, 시퀀스, 데이터 유형, 연산자 및 함수가 포함될 수도 있습니다. 스키마는 운영 체제 레벨의 디렉토리와 유사하지만 스키마를 중첩 할 수 없다는 점이 다릅니다

 

스키마란

- 테이블의 명명된 모음.

- 뷰, 인덱스, 시퀀스, 데이터 유형, 연산자, 함수가 포함될 수 있음.

- 중첩 되지 않음.

 

스키마를 먼저 생성합니다.

CREATE SCHEMA MYSCHEMA;

 

생성된 스키마에 테이블을 생성합니다.

CREATE TABLE MYSCHEMA.COMPANY
(
    ID       INT              NOT NULL PRIMARY KEY
   ,NAME     VARCHAR (20)     NOT NULL
   ,AGE      INT              NOT NULL
   ,ADDRESS  CHAR (25)
   ,SALARY   DECIMAL (18, 2)
);

 

테이블 삭제하기 입니다.

 

COMPANY 라는 이름을 가지는 테이블을 삭제 합니다.

DROP TABLE COMPANY

1개의 기본키를 가지는 테이블 생성하기.

CREATE TABLE COMPANY
(
	ID      INT PRIMARY KEY NOT NULL,
	NAME    TEXT				NOT NULL,
	AGE     INT					NOT NULL,
	ADDRESS CHAR(50),
	SALARY  REAL
);

 

+ Recent posts