1- کوئری بنویسید که کتاب های مربوط به کاربری با شماره 3 را نشان دهد
2- کوئری بنویسید که کتاب های مربوط به کاربری با اسم amir و شماره 4 را نشان دهد
3- کوئری بنویسید که کتابی با اسم book1 را به همراه مشخصات کاربر مربوط به آن، نمایش دهد
4- کوئری بنویسید که اسم کتابی که شماره آن 6 است را به book6 تغییر دهد
5- کوئری بنویسید که همه کتاب های کاربر شماره 5 را حذف کند
reply 8
visibility
-- 1
SELECT user.id AS number, user.name , book.name AS
book_name FROM book JOIN `user` ON user.id = book.user_id WHERE user.id = 3
-- 2
SELECT user.id AS number, user.name , book.name AS
book_name FROM book JOIN `user` ON user.id = book.user_id WHERE user.id = 4 AND user.name = 'amir'
-- 3
SELECT user.id AS number, user.name , book.name AS
book_name FROM book JOIN `user` ON user.id = book.user_id WHERE book.name = 'book1'
-- 4
UPDATE book SET name = "book6" WHERE id = 6
-- 5
DELETE FROM book WHERE user.id = 5
-- کوئری اول تا سوم
SELECT
books.name AS BookName,
users.name,
books.user_id
FROM
books JOIN users ON books.user_id = users.id
WHERE
/*users.id = 3; -- کوئری اول */
/*users.id = 4 AND users.name = "amir"; -- کوئری دوم */
/*books.name = "book1"; -- کوئری سوم */
-- کوئری چهارم
UPDATE books SET name="book6" WHERE id=6;
-- کوئری پنجم
DELETE FROM books WHERE user_id=5;
-- 1
SELECT *
FROM Books
WHERE user_id = 3;
-- 2
SELECT *
FROM Books
WHERE user_id = 4;
-- 3
SELECT *
FROM Books, Users
WHERE Books.user_id = Users.id
AND Books.name = 'book1';
-- 4
DELETE FROM Books
WHERE user_id = 5;
import sqlite3
# اتصال به پایگاه داده (یا ایجاد آن اگر وجود نداشته باشد)
conn = sqlite3.connect('library.db')
cursor = conn.cursor()
# ایجاد جداول (در صورت نیاز)
cursor.execute('''
CREATE TABLE IF NOT EXISTS Users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS Books (
id INTEGER PRIMARY KEY,
user_id INTEGER,
name TEXT NOT NULL,
FOREIGN KEY (user_id) REFERENCES Users (id)
)
''')
# 1. نمایش کتابهای مربوط به کاربری با شماره 3
cursor.execute("SELECT * FROM Books WHERE user_id = 3;")
books_for_user_3 = cursor.fetchall()
print("کتابهای کاربری با شماره 3:", books_for_user_3)
# 2. نمایش کتابهای مربوط به کاربری با اسم "amir" و شماره 4
cursor.execute('''
SELECT b.*
FROM Books b
JOIN Users u ON b.user_id = u.id
WHERE u.name = 'amir' AND u.id = 4;
''')
books_for_amir_4 = cursor.fetchall()
print("کتابهای کاربری با اسم 'amir' و شماره 4:", books_for_amir_4)
# 3. نمایش کتابی با اسم "book1" و مشخصات کاربر مربوط به آن
cursor.execute('''
SELECT b.*, u.*
FROM Books b
JOIN Users u ON b.user_id = u.id
WHERE b.name = 'book1';
''')
book1_details = cursor.fetchall()
print("کتاب 'book1' و مشخصات کاربر مربوط به آن:", book1_details)
# 4. تغییر اسم کتابی که شماره آن 6 است به "book6"
cursor.execute("UPDATE Books SET name = 'book6' WHERE id = 6;")
conn.commit() # ذخیره تغییرات
# 5. حذف همه کتابهای کاربر شماره 5
cursor.execute("DELETE FROM Books WHERE user_id = 5;")
conn.commit() # ذخیره تغییرات
# بستن اتصال به پایگاه داده
conn.close()
--ساخت بدنه دیتابیس
create database book
create table users
(
id int constraint PK__users_id primary key ,
u_name nvarchar(50)
)
create table books
(
book_user_id int constraint FK__users_id foreign key references users(id),
id int constraint PK__books_id primary key ,
book_name nvarchar(50)
)
--1
select * from books where book_user_id = 3
--2
select b.id , b.book_name
from users u inner join books b on u.id = b.book_user_id and u.id = 4
group by b.id , b.book_name
--3
select u.id , u.u_name
from users u inner join books b on b.book_name = 'book1'
group by u.id , u.u_name
--4
update books
set book_name = 'book6'
where book_name = '6'
--5
delete from books
where book_user_id = 5
SELECT b.id, b.name
FROM Books b
WHERE b.user_id = 3;
SELECT b.id, b.name
FROM Books b
JOIN Users u ON b.user_id = u.id
WHERE u.name = 'amir' AND u.id = 4;
SELECT b.id AS book_id, b.name AS book_name, u.id AS user_id, u.name AS user_name
FROM Books b
JOIN Users u ON b.user_id = u.id
WHERE b.name = 'book1';
UPDATE Books
SET name = 'book6'
WHERE id = 6;
DELETE FROM Books
WHERE user_id = 5;