SQL單錶查詢

2021-09-22 18:39:07 字數 2963 閱讀 6399

1、單錶查詢

從資料庫中查詢資料 專業的稱謂又稱為投影

基本查詢語句結構

select 列 from 表

注:所有列不是所有其他東西

查詢所有資料

例:select * from employees(當然你首先資料庫裡得有著張employees表才能查詢出來)

如果你需要執行比較細的操作 那就再加上條件篩選:查詢id為2號的學生資訊

select * from employees where id=2;(where:篩選的關鍵字)

篩選的執行步驟

例:select * from employees where id=2;

select * (3) 再查詢 篩選完後 我最終投影的結果就是篩選後的結果,不是每行都顯示出來,顯示行的資料是篩選後的資料 所以最後執行 select

from employees (1) 把整張表加到記憶體裡面 把整張表找到後加到記憶體裡面

where id =2 (2) 篩選 因為一張表裡面的資料需要去做乙個篩選,不想讓每行都顯示,這樣就沒意義了,所以要進行乙個條件篩選

只投影某些列

select id,first_name from employees; 只投影結果,而不是改變表資料

查詢出來顯示成中文,比如first_name顯示成員工姓名

as 加上別名 (列的別名):select first_name as 「員工姓名」 from employees;

表別名,當有幾張表的時候,表的名字很長,會給表加上別名

select employees.job_grades from departments

select a.employees from job_grades a 本次查詢 a就代表employees就可以a.first_name

篩選掉重複資料 distinct

select distinct first_name from employees;

select distinct first_name,employee_id from employees; distinct 要重複列(first_name,employee_id)的資料完全一樣

選擇操作:寫篩選條件的方法:並且 and 也可以寫成&&當然也可以反過來寫

select * from employees where id=2 and first_name=『李四』 and e employee_id ='4586』表示:查詢出員工表篩選裡面id為2的員工並且姓名是李四員工id是4586的員工,找到具體的乙個人。

select * from employees where id=2 and first_name=『李四』 && hire_date ='2023年』表示:查詢出員工表篩選id為2的員工並且姓名是李四的員工並且僱傭他的時間是哪一年。

或者 or 也可以寫成 ||

select * from employees where employee_id=『2684』 or first_name='李四』select * from employees where employee_id=『2684』 || first_name='李四』以上著兩種方法都是一樣的,都表示查詢employees表裡面的員工id

範圍操作between……and……(包含)

語法:select 列 from 表名 where 列名 between 值 and 值;

select * from employees where age>=2018 and age<=2015

select * from employees where hire_dateinbetween 2018 and 2015 – 等同於上面大於等於 及小於等於

查詢員工僱傭時間為2017 或者2015 或者2019

select * from employees where hire_date=2018 or hire_date=2015 or hire_date=2019這樣寫會比較麻煩而且寫的有有點亂的感覺,所以下面就用in來代替這種寫法,其作用都事一樣的求出來的結果也是一樣的。

in 操作 :簡化上面的那種情況 where 列 in(值1,值2,值3)

select * from employees where hire_datein(2018,2015,2019)

這種操作就看著舒服點啦,沒上面的繁瑣啦。

模糊查詢 :% 不限制字元:語法:select * from 表名 where 字段 like 『x%』;

找所有姓張的員工

select * from employees where first_name=『張三』 = 全匹配 不會幫你自動模糊查詢,下面這個就幫你模糊查詢,就算你只記得乙個字也可以查s詢出來。

select * from employees where first_name like 『張%』 like % 不限制字元(0-n個字元)的模糊查詢

select * from employees where first_name like 『%張%』 like % 可以查到包含張 如 東張西望……

select * from employees where first_name like 『%張 like % 可以查到張,以張結尾, 但是不能是張**可以是:慌慌張張……

佔位符 (下劃線) 乙個下劃線代表乙個字元

找所有姓張的員工生,並且名字長度為三個字

select * from employees where first_name like '張_』 like _ 限制字元數的模糊查詢 乙個下劃線代表乙個字元

查詢年紀為空的員工資訊

select * from employees where phone_number="" 『』」代表為空白的值

空值 is null(是空):select * from employees where phone_number is null 代表空值 沒有輸入資料

不是空 is not null(不是空值):select * from employees where phone_number is not null

SQL單錶查詢

sql view plain copy 1,選擇不猛30中的雇員 select from emp where deptno 30 2,列出所有辦事員的姓名,編號和部門 select ename,empno,deptno from emp where job clerk 3,找出佣金高於薪金的雇員 s...

SQL語句 單錶查詢

select from tableselect col1,col2 from tableselect from table where condition 篩選數字屬性列 篩選字串屬性列 通過limit選取部分結果 選取前n行的記錄 select from table where condition...

sql中單錶查詢

use test 查詢大氣質量表中的全部內容。select from all 查詢北京的大氣質量資料。select from all where 城市名 北京 查詢不同月份pm2.5的最大值。select 月份 max pm2.5 from all group by 月份 降序查詢不同城市pm10的...