SQL 高階教程概述

2021-07-28 08:27:17 字數 2189 閱讀 8858

sql是用於訪問和處理資料庫的標準計算機語言。它是結構化查詢語言,全稱是structured query language,可讓我們訪問和處理資料庫,是一種ansi標準的計算機語言。

sql union操作符合併兩個或多個select語句的結果,union內部的每個select語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每個select語句中的列的順序必須相同。預設的,union操作符選取不同的值。如果需要重複的值,則使用union all。

select column_name(s) from table1

union

select column_name(s) from table2;

select column_name(s) from table1

union all

select column_name(s) from table2;

check約束用於限制列中的值的範圍,如果對單個列定義check約束,那麼該列只允許特定的值,如果對乙個表定義check約束會基於行中其他列的值在特定的列中對值進行限制。

在「persons」表建立時在p_id列上建立check約束。check約束規定p_id必須只包含大於0的整數。

mysql:

create table persons

(p_id int not null,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255),

check (p_id>0)

)

sql server/oracle/ms access:

create table persons

(p_id int not null check (p_id>0),

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255)

)

如需命名check約束,並定義多個列的check約束:mysql/sql server/oracle/ms access:

create table persons

(p_id int not null,

lastname varchar(255) not null,

firstname varchar(255),

address varchar(255),

city varchar(255),

constraint chk_person check (p_id>0 and city='sandnes')

)

當表已被建立,如需在p_id列建立check約束:

alter table persons

add check (p_id>0)

如需命名check約束,並定義多個列的check約束:

alter table persons

add constraint chk_person check (p_id>0 and city='sandnes')

撤銷check約束:

sql server/oracle/ms access:

alter table persons

drop constraint chk_person

mysql:

alter table persons

drop check chk_person

在此之前也對sql有過了解和學習,但是感覺自己所了解的僅僅是一點點,而且也沒有系統的總結過,這次藉此機會再次對sql進行簡單的梳理和總結,讓自己的學習再次的沉澱。

SQL 高階教程

注 本篇部落格與w3cschool 搭配,目的是在自己學習sql時,進行總結。1.sql top select top 3 from persons 從persons表中選前三個 select 50 percent from persons 從表中選擇前一半 2.like not like sele...

SQL學習筆記 《SQL高階教程》1 2

自連線 非等值連線 自連線 group by 遞迴集合 表是行的集合,面向集合 開銷較大 唯二重要的方法 case 自連線 sql語言 面向集合的特性 有序對 無序對 獲取可重排列 交叉連線 笛卡爾積 3 3 select p1.name as name 1,p2.name as name 2 fr...

SQL教程 SQL語法 過程和函式概述

省略乙個儲存過程 create or replace procedure proc1 p para1 varchar2,p para2 varchar2,p para3 in out varchar2 as v name varchar2 20 begin v name zhangsan p par...