瀚高数据库和mysql区别,瀚高数据库----select用法
select用來(lái)檢索數(shù)據(jù),是數(shù)據(jù)庫(kù)最常用的指令,下面將介紹select的常用語(yǔ)法。
1、表和別名
你可以給一個(gè)表或復(fù)雜的表引用指定一個(gè)臨時(shí)的名字,用于剩下的查詢中引用那些派生的表,這被叫做表別名。
表別名經(jīng)常用來(lái)代替很長(zhǎng)的表明,例如:select * from left_verylong_name_table s where s.label = 'vari';
當(dāng)一個(gè)表?yè)碛袆e名后,不能再用表原先的名字進(jìn)行查詢。例如:select * from table1 t where table1.id = '1';
這樣是錯(cuò)誤的。
表別名主要用于簡(jiǎn)化符號(hào),但是當(dāng)把一個(gè)表連接到它自身時(shí)必須使用別名,例如:select * from people a inner join people b where a.mother_name = b.name;
別名有自己的應(yīng)用范圍,例如:SELECT a.* FROM (my_table AS a JOIN your_table AS b ON ...) AS c
是不合法的:表別名a在別名c外面是看不到的。
2、表連接
表查詢時(shí)常常需要連接多個(gè)表,這時(shí)候就需要連接表的語(yǔ)法。下面舉例子表明表連接的語(yǔ)法。create table table1(id varchar,value varchar);
create table table2(id varchar,value varchar);
insert into table1 values (1,'a1');insert into table1 values (2,'a2');insert into table1 values (3,'a3');insert into table1 values (4,'a4');
insert into table2 values (1,'b1');insert into table2 values (2,'b2');insert into table2 values (3,'b3');insert into table2 values (5,'b5');
select * from table1 inner join table2 on table1.id = table2.id;
select * from table1 full join table2 on table1.id = table2.id;
select * from table1 left join table2 on table1.id = table2.id;
select * from table1 right join table2 on table1.id = table2.id;
3、組合查詢
兩個(gè)查詢的結(jié)果可以用集合操作并、交、差進(jìn)行組合。語(yǔ)法如下:
query1UNION [ALL]query2
query1INTERSECT [ALL]query2
query1EXCEPT [ALL]query2
UNION有效地把query2的結(jié)果附加到query1的結(jié)果上(不過(guò)我們不能保證這就是這些行實(shí)際被返回的順序)。此外,它將刪除結(jié)果中所有重復(fù)的行, 就象DISTINCT做的那樣,除非你使用了UNION ALL。
INTERSECT返回那些同時(shí)存在于query1和query2的結(jié)果中的行,除非聲明了INTERSECT ALL, 否則所有重復(fù)行都被消除。
EXCEPT返回所有在query1的結(jié)果中但是不在query2的結(jié)果中的行(有時(shí)侯這叫做兩個(gè)查詢的差)。同樣的,除非聲明了EXCEPT ALL,否則所有重復(fù)行都被消除。
總結(jié)
以上是生活随笔為你收集整理的瀚高数据库和mysql区别,瀚高数据库----select用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电子商务平台的API集成接口的意义
- 下一篇: 关于瀚高数据库的适配