中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      SQL語句說明與

      時間:2024-10-08 12:06:18 SQL 我要投稿
      • 相關推薦

      SQL語句說明與范例

        篇一:SQL語句大全實例

        SQL語句實例

        表操作

        例 1 對于表的教學管理數據庫中的表 STUDENTS ,可以定義如下:

        CREATE TABLE STUDENTS

        (SNONUMERIC (6, 0) NOT NULL

        SNAME CHAR (8) NOT NULL

        AGENUMERIC(3,0)

        SEXCHAR(2)

        BPLACE CHAR(20)

        PRIMARY KEY(SNO))

        例 2 對于表的教學管理數據庫中的表 ENROLLS ,可以定義如下:

        CREATE TABLE ENROLLS

        (SNONUMERIC(6,0) NOT NULL

        CNO CHAR(4) NOT NULL

        GRADEINT

        PRIMARY KEY(SNO,CNO)

        FOREIGN KEY(SNO) REFERENCES STUDENTS(SNO)

        FOREIGN KEY(CNO) REFERENCES COURSES(CNO)

        CHECK ((GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100)))

        例 3 根據表的 STUDENTS 表,建立一個只包含學號、姓名、年齡的女學生表。 CREATE TABLE GIRL

        AS SELECT SNO, SNAME, AGE

        FROM STUDENTS

        WHERE SEX=' 女 ';

        例 4 刪除教師表 TEACHER 。

        DROP TABLE TEACHER

        例 5 在教師表中增加住址列。

        ALTER TABLE TEACHERS

        ADD (ADDR CHAR(50))

        例 6 把 STUDENTS 表中的 BPLACE 列刪除,并且把引用 BPLACE 列的所有視圖和約束也一起刪除。

        ALTER TABLE STUDENTS

        DROP BPLACE CASCADE

        例 7 補充定義 ENROLLS 表的主關鍵字。

        ALTER TABLE ENROLLS

        ADD PRIMARY KEY (SNO,CNO) ;

        視圖操作(虛表)

        例 9 建立一個只包括教師號、姓名和年齡的視圖 FACULTY 。 ( 在視圖定義中不能包含 ORDER BY 子句 )

        CREATE VIEW FACULTY

        AS SELECT TNO, TNAME, AGE

        FROM TEACHERS

        例 10 從學生表、課程表和選課表中產生一個視圖 GRADE_TABLE , 它包括學生姓名、課程名和成績。

        CREATE VIEW GRADE_TABLE

        AS SELECT SNAME,CNAME,GRADE

        FROM STUDENTS,COURSES,ENROLLS

        WHERE STUDENTS.SNO = ENROLLS.SNO AND

        COURSES.CNO=ENROLLS.CNO

        例 11 刪除視圖 GRADE_TABLE

        DROP VIEW GRADE_TABLE RESTRICT

        索引操作

        例 12 在學生表中按學號建立索引。

        CREATE UNIQUE INDEX ST

        ON STUDENTS (SNO,ASC)

        例 13 刪除按學號所建立的索引。

        DROP INDEX ST

        數據庫模式操作

        例 14 創建一個簡易教學數據庫的數據庫模式TEACHING_DB ,屬主為 ZHANG 。 CREATE SCHEMA TEACHING_DB AUTHRIZATION ZHANG

        例 15 刪除簡易教學數據庫模式 TEACHING_DB 。(( 1 )選用 CASCADE ,即當刪除數據庫模式時,則本數據庫模式和其下屬的基本表、視圖、索引等全部被刪除。( 2 )選用 RESTRICT ,即本數據庫模式下屬的基本表、視圖、索引等事先已清除,才能刪除本數據庫模式,否則拒絕刪除。)

        DROP SCHEMA TEACHING_DB CASCADE

        單表操作

        例 16 找出 3 個學分的課程號和課程名。

        SELECT CNO, CNAME

        FROMCOURSES

        WHERECREDIT = 3

        例 17 查詢年齡大于 22 歲的學生情況。

        SELECT *

        FROMSTUDENTS

        WHERE AGE > 22

        例 18找出籍貫為河北的男生的姓名和年齡。

        SELECT SNAME, AGE

        FROMSTUDENTS

        WHEREBPLACE = ' 河北 ' AND SEX = ' 男 '

        例 19 找出年齡在 20 ~ 23 歲之間的學生的學號、姓名和年齡,并按年齡升序排序。 (ASC (升序)或 DESC (降序)聲明排序的方式,缺省為升序。 )

        SELECT SNO, SNAME, AGE

        FROMSTUDENTS

        WHERE AGE BETWEEN 20 AND 23

        ORDER BY AGE

        例 20 找出年齡小于 23 歲、籍貫是湖南或湖北的學生的姓名和性別。(條件比較運算符=、< 和邏輯運算符 AND (與),此外還可以使用的運算符有:>(大于)、>=(大于等于)、<=(小于等于)、<>(不等于)、 NOT (非)、 OR (或)等。

        謂詞 LIKE 只能與字符串聯用,常常是 “ <列名>LIKE pattern” 的格式。特殊字符 “_” 和 “%” 作為通配符。

        謂詞 IN 表示指定的屬性應與后面的集合(括號中的值集或某個查詢子句的結果)中的某個值相匹配,實際上是一系列的 OR (或)的縮寫。謂詞 NOT IN 表示指定的屬性不與后面的集合中的某個值相匹配。

        謂詞 BETWEEN 是 “ 包含于 … 之中 ” 的意思。)

        SELECT SNAME, SEX

        FROMSTUDENTS

        WHERE AGE < 23 AND BPLACE LIKE' 湖% '

        或

        SELECT SNAME, SEX

        FROMSTUDENTS

        WHERE AGE < 23 AND BPLACE IN ( ' 湖南 ' , ' 湖北 ' )

        例 22 找出學生表中籍貫是空值的學生的姓名和性別。(在 SQL 中不能使用條件:<列名>= NULL 。在 SQL 中只有一個特殊的查詢條件允許查詢 NULL 值:)SELECT SNAME, SEX

        FROMSTUDENTS

        WHERE BPLACE IS NULL

        多表操作

        例 23 找出成績為 95 分的學生的姓名。(子查詢)

        SELECT SNAME

        FROMSTUDENTS

        WHERESNO =

        (SELECT SNO

        FROMENROLLS

        WHERE GRADE = 95)

        例 24 找出成績在 90 分以上的學生的姓名。

        SELECT SNAME

        FROMSTUDENTS

        WHERE SNO IN

        (SELECT SNO

        FROM ENROLLS

        WHERE GRADE > 90)

        或

        SELECT SNAME

        FROMSTUDENTS

        WHERE SNO = ANY

        (SELECT SNO

        FROM ENROLLS

        WHERE GRADE > 90)

        例 25 查詢全部學生的學生名和所學課程號及成績。(連接查詢)

        SELECT SNAME, CNO, GRADE

        FROMSTUDENTS, ENROLLS

        WHERE STUDENTS.SNO = ENROLLS.SNO

        例 26 找出籍貫為山西或河北,成績為 90 分以上的學生的姓名、籍貫和成績。(當構造多表連接查詢命令時,必須遵循兩條規則。第一,連接條件數正好比表數少 1 (若有三個表,就有兩個連接條件 ) ;第二,若一個表中的主關鍵字是由多個列組成,則對此主關鍵字中的每一個列都要有一個連接條件(也有少數例外情況))

        SELECT SNAME, BPLACE, GRADE

        FROMSTUDENTS, ENROLLS

        WHERE BPLACE IN (? 山西 ? , ? 河北 ?) AND GRADE >= 90 ANDSTUDENTS.SNO=ENROLLS.SNO

        例 28 查出課程成績在 80 分以上的女學生的姓名、課程名和成績。( FROM 子句中的子查詢)

        SELECT SNAME,CNAME, GRADE

        FROM(SELECT SNAME, CNAME , GRADE

        FROM STUDENTS, ENROLLS,COURSES

        WHERE SEX = ' 女 ')

        AS TEMP (SNAME, CNAME,GRADE)

        WHERE GRADE > 80

        表達式與函數的使用

        例 29 查詢各課程的學時數。(算術表達式由算術運算符+、-、 * 、/與列名或數值常量所組成。)

        SELECT CNAME,COURSE_TIME = CREDIT*16

        FROMCOURSES

        例 30 找出教師的最小年齡。(內部函數: SQL 標準中只使用 COUNT 、 SUM 、 AVG 、 MAX 、 MIN 函數,稱之為聚集函數( Set Function )。 COUNT 函數的結果是該列統計值的總數目, SUM 函數求該列統計值之和, AVG 函數求該列統計值之平均值, MAX 函數求該列最大值, MIN 函數求該列最小值。)

        SELECT MIN(AGE)

        FROMTEACHERS

        例 31 統計年齡小于等于 22 歲的學生人數。(統計)

        SELECT COUNT(*)

        FROMSTUDENTS

        WHERE AGE < = 22

        例 32 找出學生的平均成績和所學課程門數。

        SELECT SNO, AVG(GRADE), COURSES = COUNT(*)

        FROMENROLLS

        GROUP BY SNO

        例 34 找出年齡超過平均年齡的學生姓名。

        SELECT SNAME

        FROM STUDENTS

        WHERE AGE >

        (SELECT AVG(AGE)

        FROMSTUDENTS)

        例 35 找出各課程的平均成績,按課程號分組,且只選擇學生超過 3 人的課程的成績。( GROUP BY 與 HAVING

        GROUP BY 子句把一個表按某一指定列(或一些列)上的值相等的原則分組,然后再對每組數據進行規定的操作。

        篇二:sql語句實例

        創建數據庫:create database <數據庫名>

        Create database Wangyi

        創建數據庫并設置其存儲結構:create database db_name on [prima](存儲結構的信息)

        create database companysales

        on primary

        (name ='sale_data',

        filename ='d:datasales_data.mdf',

        size=10mb,

        maxsize=100mb,

        filegrowth=10%)--filegrowth=10mb,

        log on

        (name='sale_log',

        filename ='d:datasales_log.ldf',

        size=3mb,

        maxsize=5mb,

        filegrowth=1mb

        )

        刪除數據(轉 載于:wWw.cnboThwiN.cOM 博 威范文 網:sql語句范例)庫:drop database <數據庫名>

        drop database Wangyi

        r

        創建表:create table <表名>

        (<列名><數據類型>[列級完整性約束條件]

        [, <列名><數據類型>[列級完整性約束條件]…]

        [,表級完整性約束條件]);

        create table Student

        (Sno 5) not null unique,

        Sname 20),

        Ssex 1),

        Sage int,

        Sdept 15));

        刪除表: <表名1>[<,表名2>…<,表名3>] Student

        創建表時添加主鍵約束:constraint 約束名 primary key(列屬性1[,…,列屬性

        n])

        create table Student

        (Sno 5) not null,

        Sname 20),

        Ssex 1),

        Sage int,

        Sdept 15)

        constraint pk_Sno primary key(Sno))

        創建默認約束:創建表時)constraint 約束名 default 默認值

        修改表示)alter table 表名 add constraint 約束名 default 默認值

        alter table Student

        add constraint de_Ssex default ‘男’

        for Ssex

        篇三:SQL語句大全實例 (1)

        SQL語句實例

        表操作

        例 1 對于表的教學管理數據庫中的表 STUDENTS ,可以定義如下:

        CREATE TABLE STUDENTS

        (SNONUMERIC (6, 0) NOT NULL

        SNAME CHAR (8) NOT NULL

        AGENUMERIC(3,0)

        SEXCHAR(2)

        BPLACE CHAR(20)

        PRIMARY KEY(SNO))

        例 2 對于表的教學管理數據庫中的表 ENROLLS ,可以定義如下:

        CREATE TABLE ENROLLS

        (SNONUMERIC(6,0) NOT NULL

        CNO CHAR(4) NOT NULL

        GRADEINT

        PRIMARY KEY(SNO,CNO)

        FOREIGN KEY(SNO) REFERENCES STUDENTS(SNO)

        FOREIGN KEY(CNO) REFERENCES COURSES(CNO)

        CHECK ((GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100)))

        例 3 根據表的 STUDENTS 表,建立一個只包含學號、姓名、年齡的女學生表。 CREATE TABLE GIRL

        AS SELECT SNO, SNAME, AGE

        FROM STUDENTS

        WHERE SEX=' 女 ';

        例 4 刪除教師表 TEACHER 。

        DROP TABLE TEACHER

        例 5 在教師表中增加住址列。

        ALTER TABLE TEACHERS

        ADD (ADDR CHAR(50))

        例 6 把 STUDENTS 表中的 BPLACE 列刪除,并且把引用 BPLACE 列的所有視圖和約束也一起刪除。

        ALTER TABLE STUDENTS

        DROP BPLACE CASCADE

        例 7 補充定義 ENROLLS 表的主關鍵字。

        ALTER TABLE ENROLLS

        ADD PRIMARY KEY (SNO,CNO) ;

        視圖操作(虛表)

        例 9 建立一個只包括教師號、姓名和年齡的視圖 FACULTY 。 ( 在視圖定義中不能包含 ORDER BY 子句 )

        CREATE VIEW FACULTY

        AS SELECT TNO, TNAME, AGE

        FROM TEACHERS

        例 10 從學生表、課程表和選課表中產生一個視圖 GRADE_TABLE , 它包括學生姓名、課程名和成績。

        CREATE VIEW GRADE_TABLE

        AS SELECT SNAME,CNAME,GRADE

        FROM STUDENTS,COURSES,ENROLLS

        WHERE STUDENTS.SNO = ENROLLS.SNO AND

        COURSES.CNO=ENROLLS.CNO

        例 11 刪除視圖 GRADE_TABLE

        DROP VIEW GRADE_TABLE RESTRICT

        索引操作

        例 12 在學生表中按學號建立索引。

        CREATE UNIQUE INDEX ST

        ON STUDENTS (SNO,ASC)

        例 13 刪除按學號所建立的索引。

        DROP INDEX ST

        數據庫模式操作

        例 14 創建一個簡易教學數據庫的數據庫模式TEACHING_DB ,屬主為 ZHANG 。 CREATE SCHEMA TEACHING_DB AUTHRIZATION ZHANG

        例 15 刪除簡易教學數據庫模式 TEACHING_DB 。(( 1 )選用 CASCADE ,即當刪除數據庫模式時,則本數據庫模式和其下屬的基本表、視圖、索引等全部被刪除。( 2 )選用 RESTRICT ,即本數據庫模式下屬的基本表、視圖、索引等事先已清除,才能刪除本數據庫模式,否則拒絕刪除。)

        DROP SCHEMA TEACHING_DB CASCADE

        單表操作

        例 16 找出 3 個學分的課程號和課程名。

        SELECT CNO, CNAME

        FROMCOURSES

        WHERECREDIT = 3

        例 17 查詢年齡大于 22 歲的學生情況。

        SELECT *

        FROMSTUDENTS

        WHERE AGE > 22

        例 18找出籍貫為河北的男生的姓名和年齡。

        SELECT SNAME, AGE

        FROMSTUDENTS

        WHEREBPLACE = ' 河北 ' AND SEX = ' 男 '

        例 19 找出年齡在 20 ~ 23 歲之間的學生的學號、姓名和年齡,并按年齡升序排序。 (ASC (升序)或 DESC (降序)聲明排序的方式,缺省為升序。 )

        SELECT SNO, SNAME, AGE

        FROMSTUDENTS

        WHERE AGE BETWEEN 20 AND 23

        ORDER BY AGE

        例 20 找出年齡小于 23 歲、籍貫是湖南或湖北的學生的姓名和性別。(條件比較運算符=、< 和邏輯運算符 AND (與),此外還可以使用的運算符有:>(大于)、>=(大于等于)、<=(小于等于)、<>(不等于)、 NOT (非)、 OR (或)等。

        謂詞 LIKE 只能與字符串聯用,常常是 “ <列名>LIKE pattern” 的格式。特殊字符 “_” 和 “%” 作為通配符。

        謂詞 IN 表示指定的屬性應與后面的集合(括號中的值集或某個查詢子句的結果)中的某個值相匹配,實際上是一系列的 OR (或)的縮寫。謂詞 NOT IN 表示指定的屬性不與后面的集合中的某個值相匹配。

        謂詞 BETWEEN 是 “ 包含于 … 之中 ” 的意思。)

        SELECT SNAME, SEX

        FROMSTUDENTS

        WHERE AGE < 23 AND BPLACE LIKE' 湖% '

        或

        SELECT SNAME, SEX

        FROMSTUDENTS

        WHERE AGE < 23 AND BPLACE IN ( ' 湖南 ' , ' 湖北 ' )

        例 22 找出學生表中籍貫是空值的學生的姓名和性別。(在 SQL 中不能使用條件:<列名>= NULL 。在 SQL 中只有一個特殊的查詢條件允許查詢 NULL 值:)SELECT SNAME, SEX

        FROMSTUDENTS

        WHERE BPLACE IS NULL

        多表操作

        例 23 找出成績為 95 分的學生的姓名。(子查詢)

        SELECT SNAME

        FROMSTUDENTS

        WHERESNO =

        (SELECT SNO

        FROMENROLLS

        WHERE GRADE = 95)

        例 24 找出成績在 90 分以上的學生的姓名。

        SELECT SNAME

        FROMSTUDENTS

        WHERE SNO IN

        (SELECT SNO

        FROM ENROLLS

        WHERE GRADE > 90)

        或

        SELECT SNAME

        FROMSTUDENTS

        WHERE SNO = ANY

        (SELECT SNO

        FROM ENROLLS

        WHERE GRADE > 90)

        例 25 查詢全部學生的學生名和所學課程號及成績。(連接查詢)

        SELECT SNAME, CNO, GRADE

        FROMSTUDENTS, ENROLLS

        WHERE STUDENTS.SNO = ENROLLS.SNO

        例 26 找出籍貫為山西或河北,成績為 90 分以上的學生的姓名、籍貫和成績。(當構造多表連接查詢命令時,必須遵循兩條規則。第一,連接條件數正好比表數少 1 (若有三個表,就有兩個連接條件 ) ;第二,若一個表中的主關鍵字是由多個列組成,則對此主關鍵字中的每一個列都要有一個連接條件(也有少數例外情況))

        SELECT SNAME, BPLACE, GRADE

        FROMSTUDENTS, ENROLLS

        WHERE BPLACE IN (? 山西 ? , ? 河北 ?) AND GRADE >= 90 ANDSTUDENTS.SNO=ENROLLS.SNO

        例 28 查出課程成績在 80 分以上的女學生的姓名、課程名和成績。( FROM 子句中的子查詢)

        SELECT SNAME,CNAME, GRADE

        FROM(SELECT SNAME, CNAME , GRADE

        FROM STUDENTS, ENROLLS,COURSES

        WHERE SEX = ' 女 ')

        AS TEMP (SNAME, CNAME,GRADE)

        WHERE GRADE > 80

        表達式與函數的使用

        例 29 查詢各課程的學時數。(算術表達式由算術運算符+、-、 * 、/與列名或數值常量所組成。)

        SELECT CNAME,COURSE_TIME = CREDIT*16

        FROMCOURSES

        例 30 找出教師的最小年齡。(內部函數: SQL 標準中只使用 COUNT 、 SUM 、 AVG 、 MAX 、 MIN 函數,稱之為聚集函數( Set Function )。 COUNT 函數的結果是該列統計值的總數目, SUM 函數求該列統計值之和, AVG 函數求該列統計值之平均值, MAX 函數求該列最大值, MIN 函數求該列最小值。)

        SELECT MIN(AGE)

        FROMTEACHERS

        例 31 統計年齡小于等于 22 歲的學生人數。(統計)

        SELECT COUNT(*)

        FROMSTUDENTS

        WHERE AGE < = 22

        例 32 找出學生的平均成績和所學課程門數。

        SELECT SNO, AVG(GRADE), COURSES = COUNT(*)

        FROMENROLLS

        GROUP BY SNO

        例 34 找出年齡超過平均年齡的學生姓名。

        SELECT SNAME

        FROM STUDENTS

        WHERE AGE >

        (SELECT AVG(AGE)

        FROMSTUDENTS)

        例 35 找出各課程的平均成績,按課程號分組,且只選擇學生超過 3 人的課程的成績。( GROUP BY 與 HAVING

        GROUP BY 子句把一個表按某一指定列(或一些列)上的值相等的原則分組,然后再對每組數據進行規定的操作。

      【SQL語句說明與】相關文章:

      oracle的sql語句01-21

      SQL查詢語句大全10-24

      SQL語句的理解原則10-05

      mysql SQL語句積累參考10-02

      sql語句的各種模糊查詢08-25

      Oracle的sql語句模擬試題及答案10-12

      SQL語句中的正則表達示07-28

      SQL優化大全09-09

      2016最新J2EE中SQL語句自動構造方法08-02

      PHP防止SQL注入的例子09-25

      主站蜘蛛池模板: 偷拍视频网站一区二区| 熟女一区二区三区视频| 亚洲中文字幕一区二区不卡| 日本一区二区亚洲三区| 无码无在线观看| 亚洲一区精品一区在线观看| 99久久99久久精品免观看| 成在线人免费视频播放| 中日韩欧美成人免费播放| 日韩不卡无码三区| 江山市| 亚洲精品国产熟女久久| 日本久久精品在线播放| 色偷偷亚洲第一综合网| 国产成人精品无码一区二区老年人| 亚洲二区三区在线播放| 91久久精品亚洲一区二区三区 | 安吉县| 国产天堂一区二区三区四区| 国内精品久久久久久久久蜜桃| av中文字幕一区二区三区| 日本在线一区二区三区观看| 亚洲国产精品第一区二区三区| 国产精品一级av一区二区| 亚洲国产精品日韩专区av| 军事| 龙游县| 日本啪啪一区二区三区| 灯塔市| 襄汾县| 特级毛片a级毛片在线播放www| 克山县| 久久久久AV成人无码网站| 一区二区三区在线视频免费观看| 亚洲一区二区三区在线视频观看| 周至县| 广宗县| 国产丰满乱子伦无码专| 亚洲国产精品日韩专区av| 被黑人操的嗷嗷叫视频| 亚洲国产精品免费一区|