SQL 基礎語句select

2021-08-08 03:51:38 字數 3432 閱讀 3396

sql語句分類:

資料查詢語言 date query language,dql.負責資料查詢而不會對資料本身進行修改的語句,核心指令是select,輔助指令from,where,group by和order by.

資料定義語言 date definition language,ddl.負責資料結構定義與資料庫定義的語言,由create,alter,drop三個語法組成.

資料操縱語言 date manipulation language,dml .負責對資料庫物件執行資料訪問工作的指令集,以insert,update,delete三種指令為核心.

資料控制語言 data control language,dcl.可對資料訪問權進行控制的指令,可以控制特定使用者賬戶對資料表,檢視表,預存程式,使用者自定義函式等資料庫物件的控制權,由grant,revoke兩個指令主城.

select 列名 from 表名;

查詢表中的列的資料

更改所查詢出來資料列的顯示寬度

col 列名 for a20

使用as為列起別名,as可省略

select last_name,title,salary*12 as total

from s_emp;

||拼接字元,單引號修飾字串

select first_name||' '||last_name name

from s_emp;

nvl設定列預設值 字串用單引號修飾

select last_name,salary*(1+nvl(commission_pct,0)/100) total

from s_emp;

distinct 去除重複預設對列的組合去重

select distinct name

from s_dept;

order by 表示按列排序,預設為公升序

asc 公升序 desc 降序

select last_name,dept_id,salary

from s_emp

order by last_name desc;

先按salary公升序,相同時按dept_id降序

select last_name,dept_id,salary

from s_emp

order by salary,dept_id desc;

表示式和別名和列名都可以用來排序

select last_name name,salary*12

from s_emp

order by name desc;

可以由select的子項的標號直接排序,由1開始

select last_name name,salary*12

from s_emp

order by 2 desc;

排序時null值當最大值使用

where設定資料條件

select last_name,dept_id,salary

from s_emp

where dept_id=42;

between and 是閉區間的

select last_name,salary

from s_emp

where salary between 1500 and 2000;

escape 臨時指定轉義字元

select last_name,title

from s_emp

where last_name like 『/_m%』 escape 『/』;

null不能使用=來判斷 需要使用is null

select last_name,title

from s_emp

where commission_pct is null;

and的優先順序比or高 比較運算子優先順序最高,如between,in

select last_name,salary,dept_id

from s_emp

where salary between 1000 and 2000

and (dept_id=41 or dept_id=43);

concat 連線符 lower 小寫 upper 大寫

select lower(last_name) ll,upper(title) ut,concat(first_name,last_name) name

from s_emp;

initcap 首字元大寫

dual是乙個虛擬表,是「空表」的意思

select initcap(『hello world』)

from dual;

substr 擷取字串

length 下標從1開始,長度

select substr(last_name,length(last_name)-1,2)

from s_emp;

多表查詢

內連線,當有null時不查詢

查詢員工資訊和部門名稱

select e.last_name,e.title,d.name dept_name

from s_emp e,s_dept d

where e.dept_id=d.id;

左外連線,把左表中的沒有關聯關係的行業查詢出來

select e.last_name,d.name

from s_emp e

left outer join s_dept d

on e.dept_id =d.id;

右外鏈結,把右表中沒有關聯關係的行也查詢出來

select e.last_name,d.name

from s_emp e

right outer join s_dept d

on e.dept_id =d.id;

全外鏈結

select e.last_name,d.name

from s_emp e

full outer join s_dept d

on e.dept_id =d.id;

自連線

查詢每個員工資訊,及該員工的經理資訊

select e.id,e.last_name,m.last_name manager_name

from s_emp e

left outer join s_emp m

on e.manager_id=m.id;

替換變數

select id,last_name,salary

from s_emp

where dept_id = &var2;

select id,last_name,salary

from s_emp

where last_name=』&var1』

define var2=33

SQL基礎篇 select語句與排序問題

一 檢索 輸出所有的列 select from my friends where first name cake 知識點1 代表選擇出所有的行 什麼行呢?就是first name cake 的行。整個語句的意思就是從my friends的表中,檢索出first name cake 的行,並全部顯示!...

SQL查詢語句SELECT精華

一 簡單查詢 簡單的transact sql查詢只包括選擇列表 from子句和where子句。它們分別說明所查詢列 查詢的 表或檢視 以及搜尋條件等。例如,下面的語句查詢testtable表中姓名為 張三 的nickname欄位和email欄位。select nickname,email from ...

SQL語句 查詢(select),筆記

sql語句 查詢 select 筆記。最基本的 select 語句結構 1 select from 表名字 把相關於 這個表的語句全部查詢出來。2 select 欄位名1 欄位名2 from 表名 把這個表中關於欄位1和字段2的相關資料全部查詢出來。3 select from 表名 where 字段...