查詢多列
select 列1,列2 from 表;
查詢全部列
select * from 表;
where+ 條件
select * from student where c_number<>1;
select * from student where c_number between 2 and 3; # 查詢2班 3班的同學
select * from student where c_number is not null; # is null 為null
select * from student where c_number>=2 and c_number<=3;
運算子
作用》大於》=
大於等於
<>
不等於=
等於<
小於<=
小於等於
like 像…一樣
like 『張%』 以張開頭的所有字串
like 『c_』 c+乙個其他字元
% 匹配零個或者多個任意字元
_ 匹配乙個任意字元
select * from class where c_name like 'c%';
select * from class where c_name like 'c_';
select * from class where c_name like '%o%'; # 名字中帶o的課程
多個條件使用and or連線
查詢為null或者不為null的字段
select * from student where stuname is not null;
select * from student order by stuname;
order by stuname asc;//公升序(預設)
order by stuname desc;//降序
# 按照性別公升序排序 性別一樣按照名字降序排序
select * from student order by *** asc,stuname desc;
`select distinct stuid from student;
select distinct c_number from student; # 查詢有學生的班級`
去除重複項
union 合併多個查詢結果 去掉重複項
union all 合併多個查詢結果 不去除重複項
select
*from student
union
select
*from teacher;
insert
into class
select7,
'日語'
union
select8,
'法語'
union
select9,
'西語'
;
合併要求查詢的結果必須列一樣
合併 班級號位1 姓張的同學
select * from student where c_number=1 or stuname like '張%';
select * from student where c_number=1
union all
select * from student where stuname like '張%';
select * from student limit 3; # 查詢前三項`
select * from student
limit 4,3; # 從第4項開始查詢接下來三項
select * from student desc limit 2,3; #從第二項開始 擷取後面的三項
select class.c_name,student.stuname from class,student; # 笛卡爾積
select class.c_name,student.stuname from class,student where class.c_no=student.`
-- 聯合查詢
-- 內連線 找到class 班號和student的班號相同的記錄
-- inner join
select class.c_name,student.
`stuname`
from class inner
join student
on class.c_no=student.
`c_number`
;# 查詢student 班級編號和 class班級編號一致的內容
# 不存在學生的班級 不存在班級的學生 都不會查詢出來
根據右表為基礎(student中的所有學生) 可以查詢沒有班級的同學
select class.c_name,student.
`stuname`
from class right
join student
on class.c_no=student.
`c_number`
;
根據左表 (所有的班級) 可以查詢沒有學生的班級
select class.c_name,student.
`stuname`
from class left
join student
on class.c_no=student.
`c_number`
;
from 表1 inner join 表2 on 條件1 inner join 表3 on 條件…
一般連線查詢 **不需要連線太多 **設計部分有問題
select class.classname,student.stuname,subject.name
from `subject` left join class on subject.classid=class.id
left join student on class.id=student.classno;
別名 as 或者空格 如果多個表 欄位名相同 可以用別名區分
或者用表名區分
select c_no as 班號, c_name 班名
from class;
select tz29.class.c_no, tz29.class.c_name
from tz29.class;
DQL資料查詢語言(聯合查詢)
關鍵字 union 聯合,合併 將多條語句的查詢結果合併成乙個結果 案例一 查詢部門編號大於90或郵箱中包含a的員工資訊 select from employees where department id 90or email like a 使用union聯合查詢 select from emplo...
DQL資料查詢語句舉例
select 列名 from 表名 select sal 300,ename,deptno from emp 加入運算子 select 2 2 3 from dual 關於空值的處理,空值和數值運算的結果還是空值 列出員工每月的總收入 工資 獎金 select ename,sal comm from...
oracle資料庫的資料查詢語言DQl
一資料查詢語言 資料查詢語言用於對資料庫的檢索,其基本結構為 select 字段列表 from 表名 where 查詢條件 sql語言是大小寫不敏感,可以寫在一行或者多行,關鍵字不能被縮寫也不能別分行,個子句一般要分行寫。1.sql的算術運算子 優先順序相同時,按從左到右的順序執行,括號可以改變優先...