国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)庫學(xué)習(xí)-常用的SQL語句

這篇具有很好參考價值的文章主要介紹了數(shù)據(jù)庫學(xué)習(xí)-常用的SQL語句。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

背景:

匯整一下自己學(xué)習(xí)數(shù)據(jù)庫過程中常見的題目及語句。

一.實例分析題

數(shù)據(jù)庫學(xué)習(xí)-常用的SQL語句

?數(shù)據(jù)庫學(xué)習(xí)-常用的SQL語句

數(shù)據(jù)庫學(xué)習(xí)-常用的SQL語句

?二.簡單SQL查詢:

1):統(tǒng)計每個部門員工的數(shù)目
	select dept,count(*) from employee group by dept;

2):統(tǒng)計每個部門員工的數(shù)目大于一個的記錄
	select dept,count(*) from employee group by dept having count(*)>1;

3):統(tǒng)計工資超過1200的員工所在部門的名稱
	select e.first_name,salary,d.name
	from s_emp e, s_dept d
	where e.dept_id = d.id
	and salary > 1200;

4):查詢哪個部門沒有員工
	select e.empno, d.deptno 
	from emp e, dept d
	where e.deptno(+) = d.deptno
	and e.deptno is null;

三.復(fù)雜SQL查詢

有3個表(15分鐘):(SQL)

Student 學(xué)生表 (學(xué)號,姓名,性別,年齡,組織部門)

Course 課程表 (編號,課程名稱)

Sc 選課表 (學(xué)號,課程編號,成績)

表結(jié)構(gòu)如下:

?

1) 寫一個SQL語句,查詢選修了’JAVA’的學(xué)生學(xué)號和姓名(3分鐘)

答:SQL語句如下:

select stu.sno, stu.sname

from student stu, course c, sc

where stu.sno = sc.sno and sc.cno = c.cno and c.cname=’JAVA’;

2) 寫一個SQL語句,查詢’a’同學(xué)選修了的課程名字(3分鐘)

答:SQL語句如下:

select stu.sname, c.cname

from student stu, course c, sc

where stu.sno = sc.sno and sc.cno = c.cno and stu.sname = ’a’;

3) 寫一個SQL語句,查詢選修了5門課程的學(xué)生學(xué)號和姓名(9分鐘)

答:SQL語句如下:

select stu.sno, stu.sname from student stu

where (select count(*) from sc where sno=stu.sno) = 5;

三. 在SQL中刪除重復(fù)記錄的方法:(用到rowid (oracle偽列))

??? 1)通過建立臨時表來實現(xiàn)

??????? SQL>create table temp_emp as (select distinct * from employee)?

??????? SQL>truncate table employee; (清空employee表的數(shù)據(jù))

??????? SQL>rename temp_emp to employee; (再將表重命名)

??? 2)通過使用rowid來實現(xiàn)。

??????? SQL>delete from employee where rowid not in (

??????? select max(t1.rowid) from employee t1 group by

??????? t1.emp_id,t1.emp_name,t1.salary);

??????? --這里用min(rowid)也可以。

四. TOP N問題:查出一張表的前2條數(shù)據(jù)(用到rownum (oracle偽列))

四. TOP N問題:查出一張表的前2條數(shù)據(jù)(用到rownum (oracle偽列))

??? 答:--rownum只能使用<=或<的關(guān)系比較運算符

??? select * from s_emp where rownum <= 2;

??? --查詢公司工資最高的3個人

??? /*select * from emp

??? where rownum <= 3

??? order by sal desc;*/ 錯誤的

??? select * from (select * from emp order by sal desc) where rownum <= 3;

五.分頁查詢:

? ? --查詢第1-5條記錄

? ? select * from (select rownum num, s_emp.* from s_emp)

? ? where num >=1 and num <= 5;

??? --按工資排序,五條一頁,查找第二頁

?? select salary,first_name

???????? from( select s.*, rownum rm

        from (select *

????????????????? from s_emp

????????????????? order by salary d

????????? ) s

?????? )

??? where rm between 6 and 10

四、簡述題:

1.怎樣創(chuàng)建一個視圖,視圖的好處, 視圖可以控制權(quán)限嗎?

答案:

Create view <視圖名> as <select 語句>

視圖名在數(shù)據(jù)庫中必須是唯一的,不能與其他表或視圖同名

指定創(chuàng)建視圖的語句,可以查詢多個基礎(chǔ)表或源視圖

1.增強保障數(shù)據(jù)安全性

2.組裝數(shù)據(jù) 數(shù)據(jù)整合

3.封裝複雜查詢 數(shù)據(jù)的透明性

4.提供建模模型

5.提高響應(yīng)速度

視圖只是一個虛表 用戶有只讀權(quán)限 沒有控制權(quán)限

2.怎樣創(chuàng)建一個一個索引,索引使用的原則,有什么優(yōu)點和缺點?

Create index idx_表名_列名 on 表名(列名)

原則 1.小數(shù)據(jù)量的表不宜使用索引

2.頻繁使用插入,修改,刪除等DML操作的數(shù)據(jù)表不宜使用索引

優(yōu)點:利用索引提供數(shù)據(jù)庫性能

缺點:添加刪除修改數(shù)據(jù)對索引的影響都是不可避免地形成了對存儲空間的浪費

3. 怎樣將一個舊數(shù)據(jù)庫數(shù)據(jù)移到一個新的數(shù)據(jù)庫

創(chuàng)建一個臨時數(shù)據(jù)庫

先把舊的數(shù)據(jù)庫遷移過去,再SQL導(dǎo)入數(shù)據(jù) insert into ?select from 然後再把舊的數(shù)據(jù)庫刪除就好了

4. 怎樣創(chuàng)建一個存儲過程,有什么好處?

5. 說說你了解的oracle中的經(jīng)常使用到得函數(shù)

字符函數(shù):

Upper()函數(shù)

Lower()函數(shù)

Initcap()函數(shù)

Substr()函數(shù)

Length()函數(shù)

Concat()函數(shù)

Instr()函數(shù)

Trim()函數(shù)

Itrim()函數(shù)

Rtrim()函數(shù)

Translate()函數(shù)

轉(zhuǎn)換函數(shù) TO_CHAR

數(shù)字函數(shù):

Abs()函數(shù)

Round()函數(shù)

Ceil()函數(shù)

Floor()函數(shù)

Mod()函數(shù)

Sign()函數(shù)

Sqrt()函數(shù)

Power()函數(shù)

Trunc()函數(shù)

轉(zhuǎn)換函數(shù) TO_NUMBER

?日期函數(shù):

Sysdate()函數(shù)

Add_months()函數(shù)

Last_day()函數(shù)

Next_day()函數(shù)

Months_between()函數(shù)

Extract()函數(shù)

轉(zhuǎn)換函數(shù) TO_DATE

其它函數(shù):

Decode()函數(shù)

Nvl()函數(shù)

Cast()函數(shù)

?聚合函數(shù)/組函數(shù):

AVG()函數(shù)

SUM()函數(shù)

MAX()函數(shù)

MIN()函數(shù)

COUNT()函數(shù)

6. Oracle中字符串用什么符號鏈接?

Oracle 字符串連接使用“||”進行字符串拼接

單引號表示日期或字符串

雙引號表示別名

7.簡要說一下什么是內(nèi)連接、左連接、右連接,并寫出連接的sql。

答案:

(1)文章來源地址http://www.zghlxwxcb.cn/news/detail-420209.html

到了這里,關(guān)于數(shù)據(jù)庫學(xué)習(xí)-常用的SQL語句的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 數(shù)據(jù)庫基礎(chǔ)——數(shù)據(jù)庫、數(shù)據(jù)表和SQL語句

    數(shù)據(jù)庫基礎(chǔ)——數(shù)據(jù)庫、數(shù)據(jù)表和SQL語句

    數(shù)據(jù)庫是用來存儲、管理數(shù)據(jù)的倉庫 數(shù)據(jù)表是數(shù)據(jù)的存儲結(jié)構(gòu) Structured Query Language,結(jié)構(gòu)化查詢語言,用來操作數(shù)據(jù)庫 安裝MySQL,自行百度 進入cmd使用命令 mysql -hAddress -uUser -p(Password) 登錄數(shù)據(jù)庫 -p后直接回車可進入密文登錄 如果出現(xiàn)以下報錯,則打開任務(wù)管理器-服務(wù)-開啟

    2024年02月09日
    瀏覽(46)
  • SQL語句創(chuàng)建數(shù)據(jù)庫

    SQL語句如下: (1) name: 數(shù)據(jù)文件名稱一般為 ( name ) _Data ,日志文件名稱一般為( name )_Log 。 (2) filename: 數(shù)據(jù)文件名后綴為 .mdf ,日志文件名后綴為 .ldf 。 (3) maxsize: 設(shè)置為 unlimited 時,表示文件最大大小無限制。 (4) filegrowth: 可以設(shè)置為具體值(—M)或者百分比

    2024年02月13日
    瀏覽(40)
  • 數(shù)據(jù)庫SQL語句使用

    -- 查詢所有數(shù)據(jù)庫 -- 創(chuàng)建數(shù)據(jù)庫,數(shù)據(jù)庫名為mydatabase ? -- 如果沒有名為 mydatabase的數(shù)據(jù)庫則創(chuàng)建,有就不創(chuàng)建 ? -- 如果沒有名為 mydatabase的數(shù)據(jù)庫則創(chuàng)建,有就不創(chuàng)建,數(shù)據(jù)庫字符編碼設(shè)置為utf8mb4 -- 使用數(shù)據(jù)庫 -- 刪除名為mydatabase的數(shù)據(jù)庫 -- 如果有名為 mydatabase的數(shù)據(jù)庫則

    2024年02月12日
    瀏覽(32)
  • MySQL常用數(shù)據(jù)庫語句

    ==數(shù)據(jù)庫== 1、創(chuàng)建數(shù)據(jù)庫 create database [IF NOT EXISTS] 數(shù)據(jù)庫名; 2、刪除數(shù)據(jù)庫 drop database [IF EXISTS] 數(shù)據(jù)庫名; 3、切換數(shù)據(jù)庫 select database(); 4、查詢數(shù)據(jù)庫 show databases; ———————————————————————————— ==數(shù)據(jù)表== 1、創(chuàng)建數(shù)據(jù)表 create table 表名( 字段名

    2024年02月01日
    瀏覽(30)
  • SQL語句創(chuàng)建數(shù)據(jù)庫詳解

    在SQL中,創(chuàng)建數(shù)據(jù)庫的語句通常是使用 CREATE DATABASE 語句。讓我們來詳細解釋一下這個語句,并通過一個示例來說明如何創(chuàng)建數(shù)據(jù)庫。 CREATE DATABASE語句詳解 CREATE DATABASE 語句用于在數(shù)據(jù)庫管理系統(tǒng)中創(chuàng)建一個新的數(shù)據(jù)庫。它的基本語法如下: 其中, database_name 是要創(chuàng)建的數(shù)據(jù)

    2024年02月19日
    瀏覽(29)
  • 數(shù)據(jù)庫作業(yè)-sql語句查詢

    建表的插入數(shù)據(jù)的表 數(shù)據(jù)庫作業(yè)-sql建表和插入數(shù)據(jù)_快樂的xiao何的博客-CSDN博客 create table supplier( supplierno char(6) primary key, suppliername nvarchar(10), address nvarchar(20), number char(11) )create table category( categoryno char(5) primary key, categoryname varchar(20), descriptions text... https://blog.csdn.net/m0_539670

    2023年04月23日
    瀏覽(34)
  • 數(shù)據(jù)庫應(yīng)用:MySQL數(shù)據(jù)庫SQL高級語句與操作

    數(shù)據(jù)庫應(yīng)用:MySQL數(shù)據(jù)庫SQL高級語句與操作

    目錄 一、理論 1.克隆表與清空表 2.SQL高級語句 3.SQL函數(shù) 4.SQL高級操作 5.MySQL中6種常見的約束 二、實驗 ?1.克隆表與清空表 2.SQL高級語句 3.SQL函數(shù) 4.SQL高級操作 5.主鍵表和外鍵表 ?三、總結(jié) 克隆表:將數(shù)據(jù)表的數(shù)據(jù)記錄生成到新的表中。 (1)克隆表 ①?先創(chuàng)建再導(dǎo)入 ②?創(chuàng)建

    2024年02月13日
    瀏覽(101)
  • 數(shù)據(jù)庫sql語句(視圖的創(chuàng)建)

    數(shù)據(jù)庫sql語句(視圖的創(chuàng)建)

    例題:? 建表:要注意各表之間的索引聯(lián)系,建表先后順序很重要,不然建不了,例如先建dept,在建其他表,先在dept插入數(shù)據(jù),再在其他表插入數(shù)據(jù) (1) (2)? (3)? (4) (5)? ? 插入數(shù)據(jù)如下圖 sql語句: 在 Student 表中加入屬性 SAGE(INT 型 ) ?將 Student 表中的屬性 SA

    2024年02月04日
    瀏覽(93)
  • SQL 選擇數(shù)據(jù)庫 USE語句

    當(dāng)SQL Schema中有多個數(shù)據(jù)庫時,在開始操作之前,需要選擇一個執(zhí)行所有操作的數(shù)據(jù)庫。 SQL USE語句用于選擇SQL架構(gòu)中的任何現(xiàn)有數(shù)據(jù)庫。 句法 USE語句的基本語法如下所示 : 數(shù)據(jù)庫名稱在RDBMS中必須是唯一的。 您可以查看可用的數(shù)據(jù)庫,如下所示: 現(xiàn)在,如果您想使用AMROOD數(shù)

    2024年02月08日
    瀏覽(30)
  • 用SQL語句操作Oracle數(shù)據(jù)庫——數(shù)據(jù)更新

    用SQL語句操作Oracle數(shù)據(jù)庫——數(shù)據(jù)更新

    數(shù)據(jù)庫中的數(shù)據(jù)更新操作有3種:1)向表中添加若干行數(shù)據(jù)(增);2)刪除表中的若干行數(shù)據(jù)(刪);3)修改表中的數(shù)據(jù)(改)。對于這3種操作,SQL語言中有3種相應(yīng)的語句與之對應(yīng)。接下來讓我們逐一詳細地了解一下。 本文我們依然使用以下三個表來進行數(shù)據(jù)更新操作:

    2024年01月19日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包