程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 常用SQL語句查詢分享

常用SQL語句查詢分享

編輯:關於SqlServer

--創建數據庫(文件:主要數據文件mdf==1,次要數據文件ndf>=0,日志文件ldf>=1)
--文件組:當1mdf,5個ndf(1,2,2),10個ldf(3,3,4),將它們分成多個組存放

CREATE database studb;

--創建表teacher,student

create table teacher
(
tid int(10) primary key auto_increment,
tname varchar(20),
tage int(10)
);
use studb;
create table student
(
sid int(10) primary key auto_increment,
sname varchar(20),
sage int(10),
tid int(10) REFERENCES teacher(tid) 
);

--外鍵約束:你問張三的老師是誰??

--select teacher.tname from teacher,student where student.sname = '張三'
select t.tname from teacher t,student s where s.sname = '張三' and t.tid = s.tid

--創建課程表

create table course
(
cid int(10) primary key,
cname varchar(20),
tid int(10) REFERENCES teacher(tid)
);

--創建分數表

create table sc
(
scid int(10) primary key,
sid int(10) REFERENCES student(sid),
cid int(10) REFERENCES course(cid),
score int(10)
);

--聯合查詢:等值查詢
--1..

select c.cname from course c,student s,sc where s.sname = '小張' 
and s.sid = sc.sid and c.cid = sc.cid;

--2..

select sname from student s,course c,sc where c.cname='android' and sc.score>=60
and s.sid = sc.sid and c.cid = sc.cid;

--3..
--子查詢:當條件也要查詢的時候,我只知道學號,我不知道"小張"這個字段,那你知道小張的學號 嗎

delete from sc where sid = (select sid from student where sname = '小張'); 

--子查詢中間的符號一定是父查詢與子查詢兩張表關聯的字段(一般是主外鍵)

--4..

update sc set score=score+5 where cid=????;

select tid from teacher where tname='李老師' ==1
select cname from course where tid = 1 ==課程名字,李老師教的
select cid from course where cname='android' ==課程ID
update sc set score=score+5 where cid=
(
select cid from course where cname=
(
select cname from course where tid =
(
select tid from teacher where tname='李老師'
)
)
);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved