두 개 이상의 테이블을 결합하여 여러 행을 검색하는 것입니다.

 

SELECT * FROM weather JOIN cities ON (weather.city = cities.name);

실행 결과

 

JOIN TYPE

 

 

SELECT * FROM weather LEFT OUTER JOIN cities ON (weather.city = cities.name);

LEFT JOIN 실행 결과

SELECT CURRENT_USER, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP;

실행 결과

 

이번달의 첫번째 날과 마지막 날 구하기 입니다.

 

SELECT cast(date_trunc('month',current_date) as date) as firstday, (date_trunc('MONTH', current_date) + INTERVAL '1 MONTH - 1 day')::date lastday;

실행 결과

 

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
);

+ Recent posts