黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

SQL_sql的簡單查詢

系統(tǒng) 2539 0

***********************************************聲明***********************************************************************?

原創(chuàng)作品,出自 “深藍的blog” 博客,歡迎轉載,轉載時請務必注明出處,否則追究版權法律責任。

深藍的blog: http://blog.csdn.net/huangyanlong/article/details/39907707

****************************************************************************************************************************

過于簡單的sql,此處就不再列舉了,下面列舉的已經(jīng)為比較簡單的基礎查詢操作:
在查詢語句中選擇指定的列就是關系數(shù)據(jù)庫中所稱的投影(project)。

因為字符集的不同使日期型顯示往往出現(xiàn)故障,能夠通過以下來設置:
SQL> alter session set NLS_DATE_LANGUAGE='AMERICAN';

【補充】字符集查詢:

[oracle@master1 db_home]$ export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK??

--環(huán)境變量設置,格式:語言_地域(文化)_字符集
SQL> col name for a30
SQL> col value$ for a30
SQL> set linesize 200
SQL> set pagesize 200
SQL> select name,value$ from props$ where name like '%NLS%';
win下查看是這個:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
NAME?????????????????????????? VALUE$
------------------------------ ------------------------------
NLS_LANGUAGE?????????????????? AMERICAN?????? --語言
NLS_TERRITORY????????????????? AMERICA??????? --地域
NLS_CURRENCY?????????????????? $
NLS_ISO_CURRENCY?????????????? AMERICA
NLS_NUMERIC_CHARACTERS???????? .,
NLS_CHARACTERSET?????????????? ZHS16GBK
NLS_CALENDAR?????????????????? GREGORIAN
NLS_DATE_FORMAT??????????????? DD-MON-RR
NLS_DATE_LANGUAGE????????????? AMERICAN
NLS_SORT?????????????????????? BINARY
NLS_TIME_FORMAT??????????????? HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT?????????? DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT???????????? HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT??????? DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY????????????? $
NLS_COMP?????????????????????? BINARY
NLS_LENGTH_SEMANTICS?????????? BYTE
NLS_NCHAR_CONV_EXCP??????????? FALSE
NLS_NCHAR_CHARACTERSET???????? AL16UTF16
NLS_RDBMS_VERSION????????????? 10.2.0.1.0

注意:解決這個問題的原則,client的字符集和oracle 數(shù)據(jù)庫的字符集保持一致

補充完成。

在sql查詢中遵循下面規(guī)律:

字符和日期型數(shù)據(jù)位左對齊;
數(shù)字型數(shù)據(jù)為右對齊;

SQL查詢中的算術表達式:超級簡單!

例1:算術表達式
SQL> select empno,ename,sal,500+sal from emp;
EMPNO ENAME??????????? SAL??? 500+SAL
----- ---------- --------- ----------
?7369 SMITH???????? 800.00?????? 1300
?7499 ALLEN??????? 1600.00?????? 2100
?7521 WARD???????? 1250.00?????? 1750
?7566 JONES??????? 2975.00?????? 3475
?7654 MARTIN?????? 1250.00?????? 1750
?7698 BLAKE??????? 2850.00?????? 3350
?7782 CLARK??????? 2450.00?????? 2950
?7788 SCOTT??????? 3000.00?????? 3500
?7839 KING???????? 5000.00?????? 5500
?7844 TURNER?????? 1500.00?????? 2000
?7876 ADAMS??????? 1100.00?????? 1600
?7900 JAMES???????? 950.00?????? 1450
?7902 FORD???????? 3000.00?????? 3500
?7934 MILLER?????? 1300.00?????? 1800
14 rows selected

例2:算術表達式:優(yōu)先級推斷
SQL> select empno,ename,500+sal*12 from emp;
EMPNO ENAME????? 500+SAL*12
----- ---------- ----------
?7369 SMITH?????????? 10100
?7499 ALLEN?????????? 19700
?7521 WARD??????????? 15500
?7566 JONES?????????? 36200
?7654 MARTIN????????? 15500
?7698 BLAKE?????????? 34700
?7782 CLARK?????????? 29900
?7788 SCOTT?????????? 36500
?7839 KING??????????? 60500
?7844 TURNER????????? 18500
?7876 ADAMS?????????? 13700
?7900 JAMES?????????? 11900
?7902 FORD??????????? 36500
?7934 MILLER????????? 16100
14 rows selected

由例1、例2簡單總結出優(yōu)先級的規(guī)律為:
1、先乘除、后加減
2、優(yōu)先級次序為自左向右
3、括號里優(yōu)先
4、多重括號,內層括號運算最為優(yōu)先

別名的設置

例3:
SQL> select empno as "employee number", ename name,(500+sal)*12 "annual salary" from emp;
employee number NAME?????? annual salary
--------------- ---------- -------------
?????????? 7369 SMITH????????????? 15600
?????????? 7499 ALLEN????????????? 25200
?????????? 7521 WARD?????????????? 21000
?????????? 7566 JONES????????????? 41700
?????????? 7654 MARTIN???????????? 21000
?????????? 7698 BLAKE????????????? 40200
?????????? 7782 CLARK????????????? 35400
?????????? 7788 SCOTT????????????? 42000
?????????? 7839 KING?????????????? 66000
?????????? 7844 TURNER???????????? 24000
?????????? 7876 ADAMS????????????? 19200
?????????? 7900 JAMES????????????? 17400
?????????? 7902 FORD?????????????? 42000
?????????? 7934 MILLER???????????? 21600
14 rows selected
別名:
對于列名須要加入keyword“as”
對于表達式,直接在其后加入就可以,很easy

連接運算符讓顯示更易讀

例4:使用分隔符
SQL> select ename || ' annual salary ' || (500+sal)*12 "employee's salary" from emp;
employee's salary
SMITH annual salary 15600
ALLEN annual salary 25200
WARD annual salary 21000
JONES annual salary 41700
MARTIN annual salary 21000
BLAKE annual salary 40200
CLARK annual salary 35400
SCOTT annual salary 42000
KING annual salary 66000
TURNER annual salary 24000
ADAMS annual salary 19200
JAMES annual salary 17400
FORD annual salary 42000
MILLER annual salary 21600

例5:假設認為還不夠直觀的話,讓我們變成中文,看看效果例如以下:
SQL> select ename || ' 年薪金額為: ' || (500+sal)*12 "員工2014年年薪" from emp;
員工2014年年薪
SMITH 年薪金額為: 15600
ALLEN 年薪金額為: 25200
WARD 年薪金額為: 21000
JONES 年薪金額為: 41700
MARTIN 年薪金額為: 21000
BLAKE 年薪金額為: 40200
CLARK 年薪金額為: 35400
SCOTT 年薪金額為: 42000
KING 年薪金額為: 66000
TURNER 年薪金額為: 24000
ADAMS 年薪金額為: 19200
JAMES 年薪金額為: 17400
FORD 年薪金額為: 42000
MILLER 年薪金額為: 21600

小結:
??? 在讓顯示結果更易讀時,常用連接運算符“||”以達到預期的效果。字符串與連接運算符的搭配使用在工作中非經(jīng)常見,這會使數(shù)據(jù)更易讀。

去重的考慮:DISTINCT運算符

格式:select *|{[distinct] 列表,...} from 表名;
列表的格式為:列名|表達式[別名]

select * from 表名:從表名所指定的表中選擇全部的列
select distinct 列表 ... from 表名:為從表名所指定的表中選擇列表所規(guī)定的列,但不顯示反復的數(shù)據(jù)行(或記錄)。


例6:在emp表內查詢部門號時,會出現(xiàn)所有的信息,數(shù)據(jù)量小還能夠,假設數(shù)據(jù)量變得巨大以后,那將變得非常難篩選出實用的信息來。
SQL> select deptno from emp;
DEPTNO
------
??? 20
??? 30
??? 30
??? 20
??? 30
??? 30
??? 10
??? 20
??? 10
??? 30
??? 20
??? 30
??? 20
??? 10
14 rows selected
下面使用distinct命令,例如以下所看到的:
SQL> select distinct deptno from emp;
DEPTNO
------
??? 30
??? 20
??? 10
但這種方法,我們并不建議使用,由于這個distinct完畢的是兩個步驟,會先排序,然后從中篩選反復值。能夠預見,假設在一張大表里的話,效率將會是很低的。假設想要去重的話,我們能夠使用group分組,來完畢去重的目的。

為了實現(xiàn)去重的目的,我們能夠這樣運行語句,例如以下所看到的:
SQL> select deptno from emp group by deptno;
DEPTNO
------
??? 30
??? 20
??? 10

***********************************************聲明***********************************************************************?

原創(chuàng)作品,出自 “深藍的blog” 博客,歡迎轉載,轉載時請務必注明出處,否則追究版權法律責任。

深藍的blog: http://blog.csdn.net/huangyanlong/article/details/39907707

**************************************************************************************************************************** ?

?

SQL_sql的簡單查詢


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論